RAILS:如何获得模型的has_many关联
我如何获得模型的has_many关联?
例如,如果我有这个类:
class A < ActiveRecord::Base has_many B has_many C end
我会这样的方法:
A.get_has_many
那回归
[B,C]
可能吗? 谢谢!
您应该使用ActiveRecord reflection 。
然后你可以输入这样的东西:
A.reflect_on_all_associations.map { |assoc| assoc.name}
这会返回你的数组
[:B, :C]
例如,您可以尝试:
aux=Array.new Page.reflections.each { |key, value| aux << key if value.instance_of?(ActiveRecord::Reflection::AssociationReflection) }
嗨Pioz,祝你有个美好的一天!
找到解决方案:
def self.get_macros(macro) res = Array.new self.reflections.each do |k,v| res << k if v.macro == macro.to_sym end return res end