我有3个型号:
class Brand
attr_accessible :obs, :site, :title
has_many :equipments
end
class Equipment
attr_accessible :brand_id, :category_id, :lending_id
belongs_to :brand
has_many :lendings
end
class Lending
attr_accessible :equipment_id
belongs_to :equipment
end
我正试图展示相关设备的品牌: 品牌:<%= @ lending.equipment.brand%> 该命令显示:品牌:0xab7f2c8
正如你所看到的,品牌和借贷模式之间没有关联,对我来说,如果我这样做,那就很奇怪了。我想使用设备/品牌关联来检索:标题信息并在我的借阅视图中显示它。
任何人都可以帮助我吗?
答案 0 :(得分:2)
您可以在Lending
中使用代理:
delegate :brand, :to => :equipment, allow_nil: true
或者您可以在Lending
中设置一个通过关联:
has_one :branch, :through => :equipment
无论哪种方式,您现在都可以直接从branch
实例调用Lending
,然后(几乎)对其进行处理,就像它是常规关联一样。
答案 1 :(得分:1)
使用delegate
class Lending
attr_accessible :equipment_id
belongs_to :equipment
delegate :brand, :to => :equipment, :allow_nil => true
end
现在可以使用
<%= @lending.brand.title%>