我正在建立一个访客列表应用程序,我已经定义了访客(名称)和列表模型 - 访客可以有很多列表,列表可以有很多访客。两者都通过关联在has_many中关联(在阅读HABTM关联不是一个好主意之后)。
以下是我的模特:
class Guest < ActiveRecord::Base
has_many :lists, through: :checklists
end
class List < ActiveRecord::Base
has_many :guests, through: :checklists
end
class Checklist < ActiveRecord::Base
belongs_to :list
belongs_to :guest
end
编辑 - 我列出了show的控制器:
def show
@list = List.find(params[:id])
end
在List show视图中,我想通过清单表显示与该列表关联的所有客户名称。我可以弄清楚我是否需要一个do循环或一个数组......这有点超出了我目前的技能。
我尝试过以下内容:
<%= @list.checklist.guest.name %>
我在这里明显缺少一些关键的代码和概念。
提前致谢。
答案 0 :(得分:2)
您需要迭代这样的客人:
<% @list.guests.each do |guest| %> # For each guest in list.guests
<%= guest.name %> # print guest.name
<% end %>
答案 1 :(得分:1)
它应该是这样的
<% @list.guests.each do |guest| %>
<%= guest.name %>
<% end %>