为什么rails运行两次?

时间:2011-06-07 06:41:28

标签: ruby-on-rails

我在其中一个观点中称之为部分:

<%= render :partial => 'events/attendees', :collection => @attendees %>

然而部分由于某种原因运行了两次......这是部分:

<% @attendees.each do |user| %>

    <li><%= link_to user.name, user %></li>

<% end %>

并且我验证了rails实际上运行了这个部分两次,因为输出显示来自@attendees的每个项目两次

1 个答案:

答案 0 :(得分:8)

这是因为一个“循环”来自Rails(:collection意味着Rails将为集合中的每个项呈现部分,在本例中为@attendees),并通过您自己的部分呈现一个循环。 / p>

将部分更改为以下(不确定与会者/用户之间的关系,但这是一个示例):

<li><%= link_to attendee.name, attendee.user %></li>

或者,将部分调用更改为:

<%= render :partial => 'events/attendees' %>