##Controllers
app/controllers/item_controller.rb
class ItemController < ApplicationController
def index
@items = Article.all
end
end
app/views/item/index.html.erb
<% @items.each do |item| %>
<ul>
<li>
<%= link_to item_path(item), class: 'hoge' do %>
<% if item.image? %>
<%= image_tag item.image.to_s %>
<% else %>
<%= image_tag 'no_image.png' %>
<% end %>
<h4><%= item.title %></h4>
<p><%= item.sentence %></p>
<% end %>
</li>
</ul>
<% end %>
基礎1:ヘルパーメソッド
railsはcrfの対策で下のようにコンパイルされる
「前」
app/views
<%= image_tag 'test.jpg', class: 'hoge' %>
「後」
app/views
<img src="/assets/test.jpg" class="hoge">
基礎2:link_to
メソッド | 第一引数 | 第二引数 | オプション |
---|---|---|---|
<%= link_to | “Topページへ”, | “root_path” | method: :delete%> |
*第一引数は表示テキスト
*第二引数はリンク先指定
*オプションのデフォルトはGET
基礎3:HTML要素などにリンク付け
<%= link_to root_path do %>
(html要素)*特に画像・アイコンなど
<% end %>
基礎4:1つずつ取り出して
@のついたインスタンス変数には通常複数のデータがハッシュで入っています。
1つずつ取り出すメソッドがeachです。
@A.each do |A|
処理
end
で間の処理を繰り返します。
3+4
<% @A.each do |A| %>
<%= link_to do %>
<% end %>
<% end %>
リンクのついたくさんのHTML要素が出来上がります。