0

关系是一个用户有很多治疗,一个治疗属于用户,一对多。

现在我想打印出所有有这种特殊待遇的用户

在我的治疗show视图中,我有这个双循环

<% User.all do |user| %> 

  <%= user.treatments.each do |t| %> 

    <% if (t.id).to_i == (@treatment.id).to_i %> 
      <%= link_to user.name, user_path(user) %><br />
    <% end %>

  <% end %>
<% end %>

如果我更改<% User.all do |user| %><%= User.all do |user| %>它会打印出我的用户表中的所有内容

你们能发现为什么我没有得到任何用户吗?

我在内部循环的开头放了一条消息,它也没有显示,猜是问题在那里,但我没有看到它

4

1 回答 1

1

.all返回一个数组。数组不接受块。最有可能的是,您想做.each但忘记写了。试试这个:

<% User.all.each do |user| %> 

但更好的方法是不要像这样迭代所有用户,而是直接从数据库中获取正确的列表。

于 2012-12-06T15:05:03.687 回答