Подтвердить что ты не робот

Список имен связанных моделей

class Article < ActiveRecord::Base
  has_many :comments
  belongs_to :category
end

Существует ли метод класса для статьи, с помощью которого я могу получить список ассоциаций? Я знаю, посмотрев код модели, который связан с комментарием и категорией. Но есть ли способ получить эти ассоциации программно?

4b9b3361

Ответ 1

Вы хотите ActiveRecord:: Reflection:: ClassMethods # reflect_on_all_associations

Итак, это будет:

 Article.reflect_on_all_associations

И вы можете передать необязательный параметр для сужения поиска вниз, поэтому:

 Article.reflect_on_all_associations(:has_many)

 Article.reflect_on_all_associations(:belongs_to)

Имейте в виду, что если вам нужен список всех имен моделей, вы можете сделать что-то вроде:

Article.reflect_on_all_associations(:belongs_to).map(&:name)

Это вернет список всех имен моделей, принадлежащих Article.