2012-11-04 208 views
0

我有一个表RB至极有许多接口,则每个接口都有许多interface_graph_data。现在我的rb接口has_many关系似乎工作正常,我唯一的问题是接口interface_graph_data关系。这是我的模特。Ruby on Rails的有很多关系表

class Rb < ActiveRecord::Base 
    validates_presence_of :name 
    validates_presence_of :ip 
    validates_uniqueness_of :ip 
    validates_presence_of :username 
    validates_presence_of :password 

    has_many :interfaces 
    has_many :interfacegraphdata, :through => :interfaces 
end 


class Interface < ActiveRecord::Base 
    has_many :interfacegraphdata 
end 


class InterfaceGraphData < ActiveRecord::Base 
end 

回答

0

关系的名称应该是interface_graph_dates

UPD: 你也错过了

class InterfaceGraphData < ActiveRecord::Base 
    belongs_to :rb 
    belongs_to :interface 
end 

http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association

+0

好,我已经更新了它,在RB模型HAS_MANY:interface_graph_dates,:通过=>:接口,也接口模式HAS_MANY:interface_graph_dates当我通过它尝试循环我得到对于#接口:0x36f5ad8 – Francois

+0

<%= @ rb.interfaces.count%>有效,但不是<%= @ rb.interfaces.interface_graph_dates.count%> undefined方法'interface_graph_dates'for# Francois

+0

rb.interfaces.count返回rb的interface_graph_dates的计数。你期望什么rb.interfaces.interface_graph_dates.count完全返回? – Amir