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

PJ.*_*PJ. 17 ruby activerecord ruby-on-rails

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

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

d = Dog.first
d.associations #<== should return [Bone, Master]
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*ish 34

Dog.reflect_on_all_associations
Run Code Online (Sandbox Code Playgroud)

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

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