我正在使用Ruby on Rails 4,我想搜索关联记录具有给定属性值的关联记录。也就是说,我有一个has_many :through
关联,如下所示
class Article < ActiveRecord::Base
has_many :comment_associations
has_many :comments, through: :comment_associations
end
和comments
具有title
属性。
如何搜索comment_associations
comments
哪里有title
?{/ p>
答案 0 :(得分:0)
这是你想要的吗?
# Article model
@article.comment_associations.joins(:comments).merge(Comment.for_title("given title"))
# Comment model
scope :for_title, -> title { where(title: title) }
基本上,如果你想要CommentAssociations,那么你必须从CommentAssociations开始进行查询......但是你可以从那里包含并合并来自其他相关模型的范围。