📖
collectionでrenderする時にindexを表示したい
コントローラで取得した記事を、部分テンプレート化した個別記事をcollectionで回して表示する
posts_controller.rb
def index
@posts = Post.all.limit(6)
end
index.html.erb
<%= render partial: "/posts/_post", collection: @posts, as: "post" %>
個別記事の番号(index)をつけて表示したい
_post.html.erb
<%= post_counter + 1 %>
変数_counter
という形でindexを表示できる
今回は1〜スタートしたかったため、post_counter + 1
にしている
Railsが、render partial: ..., collection: ...
を実行するとindexが作られて表示したpartialの数をカウントしてくれるためこれが実現できる
参考
Discussion