Отношения модели - PullRequest
       2

Отношения модели

2 голосов
/ 05 июля 2010

Как я могу получить все отношения для модели. То есть у меня User модель:

class User < AR::Base
  has_many :messages, :foreign_key => 'author'
  has_many :posts
  belongs_to :role
end

Итак, как я могу узнать, какие отношения имеет User модель? И Foreign_keys, если они представлены.

1 Ответ

7 голосов
/ 05 июля 2010
User.reflect_on_all_associations.each do |assoc|
  puts "#{assoc.macro} #{assoc.name}"
end

Выходы:

has_many messages
has_many posts
belongs_to role

Метод reflect_on_all_associations возвращает массив объектов MacroReflection .Они также поддерживают другие методы для запроса хеша опций каждой ассоциации и других полезных вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...