Ruby on rails Rails视图中的嵌套循环

Ruby on rails Rails视图中的嵌套循环,ruby-on-rails,Ruby On Rails,我在视图中嵌套了网格,并且希望对每个网格使用相同的CSS类。当我使用两个嵌套的循环(“奇数”、“偶数”)助手时,我得到了混乱的CSS,就像使用odd类的三行一样 样本网格 <% first_collection.each do |entry| %> <tr class="<%= cycle( "odd", "even" ) %>"> # some info here <% entry.records.each do |record|

我在视图中嵌套了网格,并且希望对每个网格使用相同的CSS类。当我使用两个嵌套的
循环(“奇数”、“偶数”)
助手时,我得到了混乱的CSS,就像使用
odd
类的三行一样

样本网格

<% first_collection.each do |entry| %>
  <tr class="<%= cycle( "odd", "even" ) %>">
    # some info here
    <% entry.records.each do |record| %>
      <div class="<%= cycle( "odd", "even" ) %>">
        <%= record.value %>
      </div>
    <% end %> 
  </tr>
<% end %>

#这里有一些信息

所以问题是,有没有可能有两个相同的嵌套循环,它们不会相互干扰?

您可以为每个循环调用应用一个名称,以使它们保持独立

<% first_collection.each do |entry| %>
  <tr class="<%= cycle( "odd", "even", :name => 'first_collection ) %>">
    # some info here
    <% entry.records.each do |record| %>
      <div class="<%= cycle( "odd", "even", :name => 'entries' ) %>">
        <%= record.value %>
      </div>
    <% end %> 
  </tr>
<% end %>

#这里有一些信息

试着看看api.rubyonrails.org的文档。它显示了一个使用嵌套的示例。(抱歉,不确定如何从框架设置链接它)。另外,我不确定这是否重要,但您似乎在循环方法调用中使用了等号,我认为不需要在那里。也许这只是代码粘贴的方式,但您似乎也缺少了一个。