Ruby on rails 如何从2个多对多关系中查找记录

Ruby on rails 如何从2个多对多关系中查找记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想在某个庄园里找到某个类别的企业 我有以下型号 Business has many Categories through Categorizations Category has many Businesses through Categorizations Business has many Estates through Localizations Estate has many Businesses through Localizations 在类别显示我的行动 def show

我想在某个庄园里找到某个类别的企业

我有以下型号

Business has many Categories through Categorizations
Category has many Businesses through Categorizations

Business has many Estates through Localizations
Estate has many Businesses through Localizations
在类别显示我的行动

def show
  @category = Category.find(params[:id])
  @estate = Estate.find(current_user.estate_id)
  @businesses = @estate.businesses
end

显而易见的问题是,它正在退回某个地产的所有业务,无论该地产属于哪一类。我试图添加一个.where(“category\u id=?”,@category\u id),但我得到的列不存在错误

因为它似乎有效,这里的建议再次作为答案:)


由于它似乎有效,这里的建议再次作为一个答案:)


你能试试
@businesss=@estate.businesss.joins(:categories).where(categories:{id:@category.id})
吗?是的,可以!哇,谢谢你,你能试试
@businesss=@estate.businesss.join(:categories).where(categories:{id:@category.id})
吗?行!哇谢谢你好,托马斯。谢谢你的帮助。让你看看我的另一个问题是不是很无礼?我看了一下,希望有帮助。嗨,托马斯。谢谢你的帮助。让你看看我的另一个问题是不是很无礼?我看了一下,希望有帮助。
@businesses = @estate.businesses.joins(:categories).where(categories: {id: @category.id})