Forum: Ruby on Rails iterating through a collection using partials

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Taylor S. (Guest)
on 2007-03-03 20:19
This should be straightforward but a search hasn't helped:

I want to convert this:
<% for post in @posts %>

  <div class='PostBlock'>
    <div class='PostTitle'><%= link_to "#{post.title}" %></div>
    <div class='PostAuthor'>posted by <%= link_to "#{}"
    <br />
    <div class='PostBody'><%= h(post.body) %></div>
  <br />

<% end %>

into THIS:

<% for post in @posts %>
  <%= render :partial => 'postblock'%
<% end %>

but just moving the PostBlock div into _postblock.rhtml gives an invalid
action for "post."  How can I cleanly separate this?  I've also tried
using :collection => @posts but the documentation on :collection is very
poor.  Thanks!
Taylor S. (Guest)
on 2007-03-03 20:26
It was a naming convention problem.  Since the passed object is
automagically named the same thing as the partial, penaming the partial
to "_post.rhtml" works:

<%= render :partial => 'post', :collection => @posts %>

This information came from page 511 in AWDwRv2
This topic is locked and can not be replied to.