class Article < ActiveRecord::Base
  has_many :comments
  belongs_to :category
end

我是否可以使用Article的类方法来检索关联列表?通过查看该模型的代码,我知道Article与Comment和Category相关联。但是,有没有一种方法可以通过编程方式获得这些关联?

最佳答案

你想要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的所有模型名称的列表。

关于ruby-on-rails - 列出关联模型的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5733091/

10-13 07:14