这是我的模特:
class Item < ActiveRecord::Base
has_many :price_group_lines
has_many :price_groups, through: :price_group_lines
attr_accessible :item_name, :item_id
validates :item_name, presence: true
def to_label
"#{item_name}"
end
end
class PriceGroup < ActiveRecord::Base
has_many :customers
has_many :price_group_lines
has_many :items, through: :price_group_lines
attr_accessible :price_group_name
validates :price_group_name, presence: true
def to_label
"#{price_group_name}"
end
end
class PriceGroupLine < ActiveRecord::Base
belongs_to :item
belongs_to :price_group
attr_accessible :item_id, :price_group_id, :price, :item, :price_group
validates :price, :item_id, :price_group_id, presence: true
end
为价格组控制器查看(show.html.erb)
<h1> PRICE GROUP </h1>
<p> <%= @pg.price_group_name %> </p> <br>
<% @pg.items.each do |i|%>
<%= i.item_name %>
<% end %>
<br>
<%= link_to "PRICE GROUP List", price_groups_path %>
因此,我可以访问show.html.erb中的item_name,但我不知道如何在PriceGroupLine模型中访问“price”属性。就像是 i.items.price不工作。请帮助!
答案 0 :(得分:0)
问题是因为您有price
的关联,更好地说prices
。
您的变量i
已经item
,只需在其上调用price_group_lines
即可获得关联,您可以在其中调用each
并获取每个price
。
<% @pg.items.each do |i|%>
<%= i.item_name %> # will display item name
<% i.price_group_lines.each do |pgl| %>
<%= pgl.price %> # will display price
<% end %>
<% end %>