Ответ 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
.