想知道是否有一种简单的方法可以动态确定模型的关联是“ has_one
”还是“ has_many
”关系(即,这是与一个对象还是多个对象的关联)。
我正在使用 MongoMapper,因此我可以通过以下方式检查一个类是否具有具有一个或多个关系klass
的关联模型assoc
klass.associations[:assoc].is_a? MongoMapper::Plugins::Associations::OneAssociation
klass.associations[:assoc].is_a? MongoMapper::Plugins::Associations::ManyAssociation
但这似乎相当笨重,而且不是通用的(即也不适用于ActiveRecord
关联)。我还想避免加载任何对象,所以我很确定这instance.assoc.is_a? Array
也是。
有任何想法吗?