2022-09-10 Rails collection rendering
Rails collection rendering
Rails の collection rendering の復習。
基本形
index.html.erb
<h1>Products</h1>
<%= render partial: "product", collection: @products %>
collection: @products
として partial に渡すと、その単数形 product
として変数が展開される。
_product.html.erb
<p>Product Name: <%= product.name %></p>
変数名を指定する
上述の例で product
という変数名が気に入らないなら、as
を使って変更することができる。
<%= render partial: "product", collection: @products, as: :item %>
locals で追加の変数を渡す
collection に加えて、別の変数を渡したい場合は locals
が使える。
<%= render partial: "product", collection: @products,
as: :item, locals: {title: "Products Page"} %>