有很多通过。如何获得访问权限?

时间:2015-02-16 10:03:40

标签: ruby-on-rails ruby

这是我的模特:

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不工作。请帮助!

1 个答案:

答案 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 %>