Ruby on rails 如何查询关联的关联

Ruby on rails 如何查询关联的关联,ruby-on-rails,Ruby On Rails,我想执行以下操作以获得一个企业的所有评论列表: @business.professionals.reviews 我不关心这些评论属于哪一个专业人士,但我希望以与专业人士在@business.professionals 在我的示例中,企业有很多专业人士,专业人士有很多评论。将此添加到您的业务模型中 class Business < ActiveRecord::Base has_many :professionals has_many :visible_reviews, :throu

我想执行以下操作以获得一个企业的所有评论列表:

@business.professionals.reviews
我不关心这些评论属于哪一个专业人士,但我希望以与专业人士在
@business.professionals


在我的示例中,企业有很多专业人士,专业人士有很多评论。

将此添加到您的业务模型中

class Business < ActiveRecord::Base
  has_many :professionals
  has_many :visible_reviews, :through => :professionals, :class_name => "Review", :source => :reviews :conditions => ['prefessionals.reviews_visible = ?',true]
  has_many :reviews, :through => :professionals
end

嗨,这比这要复杂一点。我已经定义了这个关联,但实际上我有一些专业人士将他们的评论设置为私有,所以我需要做一些类似@business.professionals.where(“reviews\u visible”=>true)的事情。reviews哦,太好了。你是否知道如何让这成为一个范围,这样我仍然可以访问所有的评论,如果需要的话?我不想覆盖我的关联,因为有时我需要获得完整的评论列表。您可以定义两个关联,一个用于评论,另一个用于可见的评论。谢谢。我希望rails足够聪明,能够用DSL像@business.professionals.where(“reviews\u visible”=>true)这样做
@business.visible_reviews