关系是用户有多种治疗和治疗属于用户,一对多。
现在我要打印出所有具有此特定处理的用户
在我的治疗中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| %>
,则会打印出我的用户表格中的所有内容
你们有没有发现为什么我没有得到任何用户?
我在内部循环的开头放了一条消息,它也没有显示,猜猜问题就在那里,但我没有看到它
答案 0 :(得分:1)
.all
返回一个数组。数组不接受块。最有可能的是,你想做.each
但忘了写它。试试这个:
<% User.all.each do |user| %>
但更好的方法是不要像这样迭代所有用户,而是直接从数据库中获取正确的列表。