Ruby on rails 模型的关系

Ruby on rails 模型的关系,ruby-on-rails,ruby,Ruby On Rails,Ruby,如何获取模型的所有关系。例如,我有用户型号: class User < AR::Base has_many :messages, :foreign_key => 'author' has_many :posts belongs_to :role end class用户“作者” 有很多帖子吗 属于:角色 结束 那么,我如何知道用户模型拥有哪些关系呢?和外键(如果有) User.reflect_on_all_associations.each do |assoc| p

如何获取模型的所有关系。例如,我有
用户
型号:

class User < AR::Base
  has_many :messages, :foreign_key => 'author'
  has_many :posts
  belongs_to :role
end
class用户“作者”
有很多帖子吗
属于:角色
结束
那么,我如何知道
用户
模型拥有哪些关系呢?和外键(如果有)

User.reflect_on_all_associations.each do |assoc|
  puts "#{assoc.macro} #{assoc.name}"
end
产出:

has_many messages
has_many posts
belongs_to role
reflect\u on\u all\u关联
方法返回一个对象数组。它们还支持其他方法,用于查询每个关联和其他有用内容的选项哈希