如何搜索关联记录具有给定属性值的关联?

时间:2014-05-19 21:34:37

标签: ruby-on-rails ruby search activerecord associations

我正在使用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>

1 个答案:

答案 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开始进行查询......但是你可以从那里包含并合并来自其他相关模型的范围。