我怎样才能找到模型的关系?

时间:2008-11-03 18:33:42

标签: ruby-on-rails ruby activerecord

我希望,当给定特定模型时,返回与之关联的所有相关模型。例如:

class Dog < ActiveRecord::Base
  has_many :bones
  belongs_to :master
end

d = Dog.first
d.associations #<== should return [Bone, Master]

有没有办法做到这一点而不必自己动手?如果做不到,有什么建议可以做到最好吗?

1 个答案:

答案 0 :(得分:34)

Dog.reflect_on_all_associations

http://api.rubyonrails.org/classes/ActiveRecord/Reflection/ClassMethods.html#M001405

您不会在实例上执行此操作,而是在模型本身上执行此操作。