У меня есть модель PointOfContact
, которая has_many
Systems
. Со стороны Systems
я хочу идентифицировать PointOfContact
как technical_manager
или project_manager
(или оба). В то же время, сохраняя только PointOfContact
1 раз в БД.
Моя попытка следующая:
class System < ActiveRecord::Base
belongs_to :project_manager, :class_name => 'PointOfContact'
belongs_to :technical_manager, :class_name => 'PointOfContact'
end
class PointOfContact < ActiveRecord::Base
has_many :systems
end
Когда я запускаю свои спецификации (пример следует), я могу правильно создать System
ассоциации точек контакта. Тем не менее, PointOfContact
не знает о его связи с Системой. Почему это так?
@sys = System.create
@tm = PointOfContact.create
@pm = PointOfContact.create
@sys.project_manager = @pm
@sys.technical_manager = @tm
@pm.systems.should have(1).items #> expected 1 items, got 0