Running Rails 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>
Кажется, что-то здесь отсутствует. Я вложен еще на один уровень, но, согласно документам, это должно быть хорошо.