facebook twitter hatena line email

「Ruby/rails/テンプレート」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(foreach)
 
(同じ利用者による、間の6版が非表示)
行16: 行16:
  
 
==リンク==
 
==リンク==
 +
以下のように指定
 +
<%= link_to 'yahoo', 'ttp://yahoo.co.jp/' %>
 +
<%= link_to user.name, 'users/' + user.id.to_s  %>
 
userのprikeyがidでidが1であれば"/users/1"へ
 
userのprikeyがidでidが1であれば"/users/1"へ
 
  <%= link_to 'Show', user %>
 
  <%= 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
  
 
==コメントアウト==
 
==コメントアウト==
行34: 行50:
 
  <% =begin %>
 
  <% =begin %>
 
  <% =end %>
 
  <% =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">

2018年3月8日 (木) 22:01時点における最新版

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">