Вы также можете просто вещи, используя: collection для рендеринга: частичный. Который передает каждый элемент в значении для: collection в локальную переменную, разделяющую имя вашей части.
<% @posts = GetAllPostsFunctions %> (removed for berivity)
<%= render :partial => "posts/post_show", :collection => @posts %>
В этом случае Rails отобразит post_show для каждого элемента в @posts с локальной переменной post_show, установленной на текущий элемент. Он также предоставляет удобные методы счетчиков.
Успешное использование этого подхода потребует переименования частичного файла app / views / posts / _post_show.html.erb в app / views / posts / _post.html.erb или изменения каждого вхождения записи в вашем частичном post_show Если вы переименовали партиал в обычный _post.html.erb , который позволит вам просто сделать:
<%= render :partial => @posts %>
Что будет отображать частичное для каждого поста в переменной @posts
.