嵌套has_many通过协会不工作
问题描述:
运行轨道3.2.1。尝试什么应通过相关联的简单的嵌套的has_many所示的文档(http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association):嵌套has_many通过协会不工作
class Company < ActiveRecord::Base
has_many :locations, :dependent => :destroy
has_many :assets, :through => :locations
has_many :components, :through => :assets
end
class Location < ActiveRecord::Base
belongs_to :company
has_many :assets
has_many :components, :through => :assets
end
class Asset < ActiveRecord::Base
belongs_to :location
has_many :components
end
class Component < ActiveRecord::Base
belongs_to :asset
end
在控制台Company.find(2)
工作正常以及Company.find(2).locations
但不是Company.find(2).assets
或Company.find(2).components
。我得到:
1.9.3p0 :071 > Company.find(2).assets
Company Load (0.8ms) SELECT "companies".* FROM "companies" WHERE "companies"."id" = $1 ORDER BY name ASC LIMIT 1 [["id", 2]]
NoMethodError: undefined method `assets' for #<Company:0x007f939d714318>
我似乎在这里失去了一些东西。我嵌套更深层次,但根据文档,这应该是好的。
答
哇......让我疯狂。希望我能帮助其他人。搜索了控制台错误消息,并且只需要重新载入控制台...“哦,哦!