Polimorficzne relacje

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?