references rails many includes has_and_belongs_to_many has foreign belongs active ruby-on-rails ruby has-many

ruby on rails - rails - FERROCARRIL: Cómo obtener muchas asociaciones has_ de un modelo



rails has many (3)

Deberías estar utilizando reflections ActiveRecord.

Entonces puedes escribir algo como esto:

A.reflect_on_all_associations.map { |assoc| assoc.name}

que devolverá su matriz

[:B, :C]

¿Cómo puedo obtener las asociaciones has_many de un modelo?

Por ejemplo si tengo esta clase:

class A < ActiveRecord::Base has_many B has_many C end

Me gustaría un método como este:

A.get_has_many

esa vuelta

[B,C]

¿Es posible? ¡Gracias!


Encontré las soluciones:

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


Por ejemplo puedes probar:

aux=Array.new Page.reflections.each { |key, value| aux << key if value.instance_of?(ActiveRecord::Reflection::AssociationReflection) }

Hola Pioz, que tengas un buen día!