У меня следующая структура:
class Product < ActiveRecord::Base
has_many :product_units
has_many :units, :through => :product_units, :foreign_key => :unitID
end
class Unit < ActiveRecord::Base
has_many :product_units
has_many :products, :through => :product_units, :foreign_key => :productID
end
class ProductUnit < ActiveRecord::Base
belongs_to :unit, :foreign_key => :unitID
belongs_to :product, :foreign_key => :productID
end
, но при попытке запустить
Product.last.units.create({:name => 'test', :symbol => 't'})
возникает следующая ошибка:
ActiveRecord::UnknownAttributeError: unknown attribute: product_id
Может кто-нибудь помочьмне ?это сводит меня с ума: x
EDIT: Когда я пытаюсь сделать следующее:
Product.last.units
Я получаю сообщение об ошибке
SELECT "units".* FROM "units" INNER JOIN "product_units" ON "units"."unitID" = "product_units"."unitID" WHERE "product_units"."product_id" = 1
Проблемаявляется то, что product_units не имеет поля product_id, вместо этого его имя является productID;почему имя идентификатора является правильным при объединении, но не в операторе where?