class Article < ActiveRecord::Base
has_many :comments
belongs_to :category
end
是否有文章的类方法,我可以用它检索关联列表?通过查看模型的代码,我知道文章与注释和类别相关.但是有没有一种方法可以通过编程获得这些关联呢?
class Article < ActiveRecord::Base
has_many :comments
belongs_to :category
end
是否有文章的类方法,我可以用它检索关联列表?通过查看模型的代码,我知道文章与注释和类别相关.但是有没有一种方法可以通过编程获得这些关联呢?
你想要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
的所有模型名称的列表.