Ответ 1
Вы должны использовать ActiveRecord размышления.
Затем вы можете ввести что-то вроде этого:
A.reflect_on_all_associations.map { |assoc| assoc.name}
который вернет ваш массив
[: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