我在其中一个观点中称之为部分:
<%= render :partial => 'events/attendees', :collection => @attendees %>
然而部分由于某种原因运行了两次......这是部分:
<% @attendees.each do |user| %>
<li><%= link_to user.name, user %></li>
<% end %>
并且我验证了rails实际上运行了这个部分两次,因为输出显示来自@attendees的每个项目两次
答案 0 :(得分:8)
这是因为一个“循环”来自Rails(:collection
意味着Rails将为集合中的每个项呈现部分,在本例中为@attendees
),并通过您自己的部分呈现一个循环。 / p>
将部分更改为以下(不确定与会者/用户之间的关系,但这是一个示例):
<li><%= link_to attendee.name, attendee.user %></li>
或者,将部分调用更改为:
<%= render :partial => 'events/attendees' %>