Zastanawiasz się, czy istnieje łatwy sposób określenia dynamicznie, jeśli powiązanie modelu jest relacją "has_one
" lub "has_many
" (tj. Jest to powiązanie z jednym obiektem lub wieloma).Railsy określają, czy asocjacja ma has_one lub has_many
Używam MongoMapper, więc jestem w stanie sprawdzić, czy klasa klass
jest skojarzony modelu assoc
z jednej lub wielu relacji poprzez
klass.associations[:assoc].is_a? MongoMapper::Plugins::Associations::OneAssociation
klass.associations[:assoc].is_a? MongoMapper::Plugins::Associations::ManyAssociation
ale to wydaje się raczej niezgrabne i nie jest nazwą rodzajową (nie będzie działać również dla stowarzyszeń ActiveRecord
). Chciałbym również uniknąć ładowania jakichkolwiek obiektów, więc jestem całkiem pewny, że instance.assoc.is_a? Array
też się wyłączył.
Wszelkie pomysły?
Czy kiedykolwiek wymyśliłeś to? Właśnie przyszedłem znaleźć to samo, ale tylko dla 'ActiveRecord' – MCB