facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(リンク)
 
(同じ利用者による、間の9版が非表示)
行1: 行1:
 
==erb==
 
==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
 
  =begin
行15: 行51:
 
  <% =end %>
 
  <% =end %>
  
==foreach==
+
==部分テンプレート==
  <% @users.each do |user| %>
+
部分テンプレート呼び出し
    <%= user.name %>
+
  <%= render('shared/adsense_300x600') %>
<% end %>
+
部分テンプレート記述場所
 +
app/views/shared/adsense_300x600.html.erb
  
==変数表示==
+
==スマホ対応==
  <%= name %>
+
app/views/layouts/application.html.erb の<head>タグの下に入れる
 
+
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
==リンク==
+
userのprikeyがidでidが1であれば"/users/1"
+
<%= link_to 'Show', user %>
+

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