如何获得模型的 has_many 关联?
例如,如果我有这个类:
class A < ActiveRecord::Base
has_many B
has_many C
end
我想要这样的方法:
A.get_has_many
那个回报
[B,C]
可能吗?谢谢!
如何获得模型的 has_many 关联?
例如,如果我有这个类:
class A < ActiveRecord::Base
has_many B
has_many C
end
我想要这样的方法:
A.get_has_many
那个回报
[B,C]
可能吗?谢谢!
您应该使用 ActiveRecord反射。
然后你可以输入如下内容:
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