もうeachをビューで使うなんて 言わないよ絶対。
renderでインスタンス配列だけを渡してクールにキメたい。
views/xxxs/xxx.html.erb
<%= render @users %>
この場合、views/users/_user.html.erb
の部分テンプレートを呼び出す
インスタンス配列@users
の中身が無くなるまで、繰り返し処理される
部分テンプレートファイルの_user.html.erb
ファイル内では、変数user
を扱えるようになる
テンプレートファイル名は単数形であることに注意
views/users/_user.html.erb
<%= user.name %>
#例として、nameカラムがある場合
#部分テンプレート内で使う変数名が単数形になっていることに注意
続いて、アソシエーションを組んでいる場合
views/xxxs/xxx.html.erb
<%= render @user.books %>
この場合、Bookクラスのインスタンスとして扱われるので上記と差はあまりなかったりします。
views/books/_book.html.erb
の部分テンプレートを呼び出す
インスタンス配列@user.books
の中身が無くなるまで、繰り返し処理される
部分テンプレートファイルの_book.html.erb
ファイル内では、変数book
を扱えるようになる
テンプレートファイル名は単数形であることに注意
views/books/_book.html.erb
<%= book.title %>
#例として、titleカラムがある場合
#部分テンプレート内で使う変数名が単数形になっていることに注意
以上です!ご指摘等ありましたらコメント欄にお願いします!