我有Project has_many :locations
和Locations has_many :comments
,以及Project has_many :plans
和Plan has_many :comments
。如何选择属于项目的所有可评论资源的所有注释?我正在使用ActiveAdmin
和ActiveAdmin::Comment
,如果这是相关的。我尝试了什么:
p = Project.first
comments = p.locations.map(&:comments).flatten + p.plans.map(&:comments).flatten
但是有没有ActiveRecord或Rails的方法呢?或者是否有SQL连接可以做到这一切?谢谢!
答案 0 :(得分:0)
如果您通过地点制作has_many location_comments,那么计划相同会更好。您也可以制作模型方法,如:
def all_comment
self.location_comments + self. plans_comments
end