列出相关模型的名称
class Article < ActiveRecord::Base has_many :comments belongs_to :category end
有一个文章的类方法,我可以检索一个协会的列表? 我知道通过查看文章与评论和类别相关联的模型的代码。 但有没有一种方法来获得这些协会编程?
你想要ActiveRecord :: Reflection :: ClassMethods#reflect_on_all_associations
所以这将是:
Article.reflect_on_all_associations
你可以传入一个可选的参数来缩小search范围,所以:
Article.reflect_on_all_associations(:has_many) Article.reflect_on_all_associations(:belongs_to)
请记住,如果你想要的模型的所有名称的列表,你可以做这样的事情:
Article.reflect_on_all_associations(:belongs_to).map(&:name)
这将返回属于Article
的所有模型名称的列表。