Ruby on Rails学習記録1
アプリ作成
$rails new アプリ名
サーバー起動
$rails sever(省略可:s)
ルーティング・コントローラー・ビュー
内容 | 詳細 |
---|---|
routing | ブラウザ(URL)とコントローラを繋ぐ役割 |
controller | ビューをブラウザに返す |
view | ページの「見た目」を作るためのHTMLファイル |
コントローラー作成
$rails generate(省略可:g) controller コントローラ名 アクション名 # 同じ名前のコントローラがすでにある場合は、このコマンドを使うことはできない # rails g コマンドが反応しない場合 $spring stop
アクション:コントローラ内のメソッド
アクションはブラウザに返すビューをviewsフォルダの中から見つけ出す。
class HomeController < ApplicationController def top end end
each文:配列の中身を1つずつ取り出す
<% posts = [ "hello Ruby1", "hello Rails2" ] %> <%= posts.each do |post| %> <%= post %> <% end %>
アクションは変数指定可能。
@変数名でアクションで定義した変数をビューに表示可能。
※@はつけ忘れないようにする。
class PostsController < ApplicationController def index @posts = [ "hello Ruby", "hello Rails" ] end end # ビューの中身 <% @posts.each do |post| %> <%= post %> <% end %>
ルーティングの作成
get "URL" => "コントローラー名#アクション名" get "home/top" => "home#top" # ルーティングのURLは対応するアクションがあれば変更可能。 get "home/top" => "home#top" get "top" => "home#top" get "/" => "home#top" # ルーティングで設定したURLは、ビューファイルのリンク指定で利用可能 get "/" => "home#top" <a href="/">TOP</a> get "about" => "home#about" <a href="/about">ABOUT</a>
erbファイル:Embedded Ruby(埋め込みRuby)の略
内容 | 詳細 |
---|---|
<% %> | Rubyコードの記述可能。ビュー表示不可。 |
<%= %> | Rubyコードの記述可能。ビュー表示可。 |
<% post1 = "hello Ruby" %> <% post2 = "hello Rails" %> <%= post1 %> > hello Ruby <%= post2 %> > hello Rails