Ruby on rails Ruby-HABTM关联循环

Ruby on rails Ruby-HABTM关联循环,ruby-on-rails,ruby,associations,has-and-belongs-to-many,Ruby On Rails,Ruby,Associations,Has And Belongs To Many,我想实现一个嵌套循环,在have中没有重复项,并且属于多个关系 我有一个“活动”模型,每个活动我都有活动数据 我想在表格中显示每个活动及其活动数据。(嵌套) @magnities=当前用户活动 我的问题是我的活动重复了 我想实现这样的目标: 每个活动都列在表中,其对应的活动_数据直接位于其下方,如果没有活动_数据,则下一个循环从下一个活动开始-这可能吗 最好的注意当您在循环中使用时,可能会得到重复的活动。因此,如果一个活动有4个活动数据,您将看到4次活动名称 您应该正确使用命名约定,如果活动有

我想实现一个嵌套循环,在have中没有重复项,并且属于多个关系

我有一个“活动”模型,每个活动我都有活动数据

我想在表格中显示每个活动及其活动数据。(嵌套)

@magnities=当前用户活动
我的问题是我的活动重复了

我想实现这样的目标:

每个活动都列在表中,其对应的活动_数据直接位于其下方,如果没有活动_数据,则下一个循环从下一个活动开始-这可能吗


最好的注意

当您在
循环中使用
时,可能会得到重复的活动。因此,如果一个活动有4个活动数据,您将看到4次活动名称

您应该正确使用命名约定,如果活动有许多数据活动数据,那么您应该在关联中指定,即
有许多:活动数据

此外,控制器中应包含以下代码

@campaigns = current_user.campaigns.include(:campaign_datas)
注意:-我使用了
include
以避免
n+1
,请阅读

鉴于

<% for campaign in @campaigns %>
  <% next if @campaigns.campaign_datas.blank? %>
  <tr>
    <td><%= item.name %></td>
  </tr>
  <% for campaign_data in @campaigns.campaign_datas %>
    <tr>
      <td><%= campaign_data.date %></td>
    </tr>
  <% end %>
<% end %>

注:-
行用于跳过没有活动数据的活动

<% for campaign in @campaigns %>
  <% next if @campaigns.campaign_datas.blank? %>
  <tr>
    <td><%= item.name %></td>
  </tr>
  <% for campaign_data in @campaigns.campaign_datas %>
    <tr>
      <td><%= campaign_data.date %></td>
    </tr>
  <% end %>
<% end %>