Как вы получаете названия моделей, у которых есть MyObject has_many? - PullRequest
0 голосов
/ 27 января 2012

Использование Ruby (1.8.7) и Rails (2.3.8)

выполнение myObject.attributes дает хэш атрибута для значения.

Допустим, у меня есть сценарий:

class MyObject
    has_many :other_objects

class OtherObject
    belongs_to :my_object

Должен быть способ привязать имена ассоциаций, привязанных к объекту, верно?

Даже если по умолчанию нет, я бы хотел помочь сметод .associations, аналогичный атрибуту .attributes, за исключением того, что вместо хеша возвращается массив.

Ответы [ 2 ]

1 голос
/ 27 января 2012

refle_on_all_associations должен это сделать.

Пример:

MyObject.reflect_on_all_associations.map{|a| a.name.to_s} #=> ["other_objects"]
0 голосов
/ 27 января 2012
MyClass.reflections

Предоставляет вам все ассоциации и агрегаты, которые есть у activerecord, и предоставляет всю необходимую информацию о них (класс связанных объектов, внешний ключ и т. Д.)

...