Rails Girls ガイド を最初から進めていきました。
Mac OS X 10.9.2
ステップ 3-Bに従って、rbenvを使ってRuby 2.1.2をインストール。
gem i rails
テキストエディタはSublime Textをダウンロード済み。
Macでアプリをインストールするには、ダブルクリックして開いたウィンドウからアプリアイコンを「アプリケーション」にドラッグ&ドロップしましょう。
そして、Terminal上で次のコマンドを入力します。 :
rails new railsgirls
ここでRailsがインストールされていないエラー。
~/.rbenv/shims/rails
がなぜか入っていなかったので、gem i railties
を実行すると無事実行可能に。
rails generate scaffold idea name:string description:text picture:string
- stringは短いテキスト≒1行の入力
- textは長いテキスト≒複数行の入力
rails new
やrails generate
でいろいろ生成されるが、コードを書いていくところは主にコントローラ app/controllers, モデル app/models, ビュー app/views の3つ。
HTMLはビューに置かれますが、表示される内容と構造しかありません。文字の大きさ・色・装飾などはHTMLには書きません。それらはスタイルシート(CSS)に書きます。 app/assets/stylesheets の下です。
body { padding-top: 100px; } footer { margin-top: 100px; } table, td, th { vertical-align: middle; border: none; } th { border-bottom: 1px solid #DDD; }
margin, padding, borderはよく使います。
borderが枠線、marginが外側の余白、paddingが内側の余白。
<%= image_tag(@idea.picture_url, width: 600) if @idea.picture.present? %>
画像を表示するためにはimg
タグを使います。<img src=...>
とそのまま書いてもいいですが、Railsには便利のためimage_tag
というものが用意されています。Railsの機能なので<%= ... %>
の中に書きます。
pictureがない(空の)ときにはimg
タグを出さないように、if @idea.picture.present?
を付け足します。
config/routes.rb はブラウザのURLとRailsの処理内容(コントローラ)を結びつける対応を書くものです。しかし内容はresources :ideas
しかありません。
scaffoldのように「Railsのルール」に沿っている場合は、resources
を書くだけでいいようになっているためです。「Railsのルール」に沿っていればほとんど処理を書かなくてよい、というのはRailsの特徴です。(Convention over Configuration)
続きの「アプリにページを追加する」や、その先「6 bootstrap を使ってモダンなデザインにしましょう」をやってみましょう。