【问题标题】:Searching entity based on relationship基于关系搜索实体
【发布时间】:2014-10-24 16:43:42
【问题描述】:

我在产品和类别之间有一个简单的关系,我想按类别过滤产品。

这就是我尝试的方式:

定义报告 @products = Product.find_by category_id: 参数[:category_ids] 渲染:动作 => '报告' 结束

但它没有用。它正在产品表中搜索category_id。如何让它在关系表中显示?

这是我的Product 模型:

class Product < ActiveRecord::Base
    has_and_belongs_to_many :categories, :join_table => 'products_categories'
    accepts_nested_attributes_for :categories
end

我想不出一种方法来做到这一点,如果我应该只是连接查询,或者如果使用 Rails 有更简单的方法来做到这一点。有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    我相信你应该可以做到

    Product.includes(:categories).where(categories: { id: params[:category_ids] })
    

    得到你想要的答案。

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2016-02-07
      • 1970-01-01
      • 2021-11-25
      • 2017-07-18
      相关资源
      最近更新 更多