2014-01-14 84 views
0

信息我有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 

我试图展现品牌的相关equipament的: 品牌:<%= @ lending.equipment.brand%> 该命令显示这一点:品牌:0xab7f2c8

正如你所看到的,品牌和贷款模式之间没有关系,对我来说它是奇怪的,如果我这样做。我想使用设备/品牌关联来检索:标题信息并在我的借阅视图中显示。

任何人都可以帮助我吗?

回答

1

使用delegate

class Lending 
    attr_accessible :equipment_id 

    belongs_to :equipment 
    delegate :brand, :to => :equipment, :allow_nil => true 
    end 

现在你可以使用

<%= @lending.brand.title%> 
2

您可以使用委托在Lending

delegate :brand, :to => :equipment, allow_nil: true 

或者你可以设置一个具有一通协会Lending

has_one :branch, :through => :equipment 

无论哪种方式,你现在可以直接从Lending实例调用branch,并在其上(几乎),好像它是一个普通的关联工作。

+0

工作!谢谢大家! –