Ruby/rails/テンプレート
提供: 初心者エンジニアの簡易メモ
erb
テンプレートフォーマット
foreach
<% @users.each do |user| %> <%= user.name %> <% end %>
if
<% if request.host == "hotehote.localhost" then %> analytics <% end %>
変数表示
<%= name %>
リンク
以下のように指定
<%= link_to 'yahoo', 'ttp://yahoo.co.jp/' %> <%= link_to user.name, 'users/' + user.id.to_s %>
userのprikeyがidでidが1であれば"/users/1"へ
<%= link_to 'Show', user %>
以下の場合は"/users/1/edit"へ
<%= link_to 'Edit', edit_user_path(user) %>
edit_user_pathはroutesのprefixにある
$ rails routes Prefix Verb URI Pattern Controller#Action users GET /users(.:format) users#index POST /users(.:format) users#create new_user GET /users/new(.:format) users#new edit_user GET /users/:id/edit(.:format) users#edit user GET /users/:id(.:format) users#show PATCH /users/:id(.:format) users#update PUT /users/:id(.:format) users#update DELETE /users/:id(.:format) users#destroy
コメントアウト
<% # ここがコメントアウト %>
全体コメントアウト
<% =begin %> ここはコメントアウトされる <% =end %>
以下のように一行で書く方法はng
<% =begin %> <% =end %>
部分テンプレート
部分テンプレート呼び出し
<%= render('shared/adsense_300x600') %>
部分テンプレート記述場所 app/views/shared/adsense_300x600.html.erb
スマホ対応
app/views/layouts/application.html.erb の<head>タグの下に入れる
<meta name="viewport" content="width=device-width, initial-scale=1.0">