Mam 3 modele, powiedzmy że nazywają się Foo, FooConf i FooOffer.
FooOffer, ma jedno FooConf. Zawsze.
Foo ma dwa pola: unverified i verified, w każdym mogą być FooConf’y, ale nie muszą.
Nie wiem jak to zapisać w modelach, aktualnie mam tak:
[code]Foo:
has_one :verified, :class_name => ‘FooConf’, :as => :foo_conf_parent
has_one :unverified, :class_name => ‘FooConf’, :as => :foo_conf_parent
FooConf:
belongs_to :foo_conf_parent, :polymorphic => true
FooOffer:
has_one :foo_conf, :as => :foo_conf_parent[/code]
FooConf ma pola foo_conf_parent_id i foo_conf_parent_type, jednak do “type” leci “Foo” lub “FooOffer”, liczyłem, że będzie tam FooOffer/Verified/Unverified, lub coś w tym stylu.
I w przypadku kiedy utworzę Foo, z FooConf w unverified, to wtedy zarówno Foo.verified jak i Foo.unverified zwracają to samo FooConf, co jest zrozumiałe, skoro nigdzie nie jest rozróżniane czy jest to verified czy unverified.
Jak to zapisać, żeby działało zgodnie z zamierzeniami?