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