using blocks in views

Out of curiosity, why is it that the following doesn't work in a view:

<%= @items.each { |@item| render :partial => 'itemrow' } %>

of course it's easily achieved like this:

<% for @item in @items %> <%= render :partial => 'itemrow' %> <% end %>

Is it just not possible to use blocks in a view?

} } Out of curiosity, why is it that the following doesn't work in a view: } } <%= @items.each { |@item| render :partial => 'itemrow' } %> } } of course it's easily achieved like this: } } <% for @item in @items %> } <%= render :partial => 'itemrow' %> } <% end %> } } Is it just not possible to use blocks in a view?

You would need to use inject rather than each because render :partial returns the rendered HTML as a string and you are returning @items from each. That aside, though, the right way to render a partial on a collection is:

<%= render :partial => 'itemrow', :collection => @items %>

Rails does the loop for you.

--Greg