LoginSignup
3
2

More than 5 years have passed since last update.

【Rails】renderでインスタンス配列を繰り返し処理したい【部分テンプレート】

Posted at

もう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カラムがある場合
#部分テンプレート内で使う変数名が単数形になっていることに注意


以上です!ご指摘等ありましたらコメント欄にお願いします!


3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2