Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将HABTM数据带到视图中_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 将HABTM数据带到视图中

Ruby on rails 将HABTM数据带到视图中,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我试图为网站的用户制作一个表格,以查看每个人所属的组。我有一张分组表和一张人员表。现在,我只希望一个人的组出现在视图中。我将向您展示我的代码以进行澄清。这是我的桌子 现在每个小组都为每个人出现,不管他们是否属于每个小组。关于如何解决这个问题有什么想法吗?使用 group.people.each do |person| 而不是 @people.each do |person| 遍历每个组中的所有用户。使用 group.people.each do |person| 而不是 @people

我试图为网站的用户制作一个表格,以查看每个人所属的组。我有一张分组表和一张人员表。现在,我只希望一个人的组出现在视图中。我将向您展示我的代码以进行澄清。这是我的桌子


现在每个小组都为每个人出现,不管他们是否属于每个小组。关于如何解决这个问题有什么想法吗?

使用

group.people.each do |person|
而不是

@people.each do |person|
遍历每个组中的所有用户。

使用

group.people.each do |person|
而不是

@people.each do |person|

遍历每个组中的所有用户。

我需要查看您的组和人员模型才能确定,但最可能需要做的是遍历
person.groups
。大概是这样的:

<tbody>
    <% @people.each do |person| %>
    <tr>
      <td><%= person.phone_number %></td>
      <td><%= person.subscribed %></td>

      <% person.groups.each do |group| %>
          <td><%= group.name %></td>
      <% end %>

      <% end %>
    </tr>
  </tbody>

这样,您只需迭代属于个人的
,而不是数据库中的所有


请注意,如果以这种方式格式化,除非每个人都在相同数量的组中,否则表行的长度将不同。

我需要查看您的组和人员模型才能确定,但最可能需要做的是循环查看
person.groups
。大概是这样的:

<tbody>
    <% @people.each do |person| %>
    <tr>
      <td><%= person.phone_number %></td>
      <td><%= person.subscribed %></td>

      <% person.groups.each do |group| %>
          <td><%= group.name %></td>
      <% end %>

      <% end %>
    </tr>
  </tbody>

这样,您只需迭代属于个人的
,而不是数据库中的所有

请注意,如果以这种方式格式化,除非每个人都在相同数量的组中,否则表行的长度将不同