Rails采用最新的子项并按其值搜索

时间:2017-02-15 07:42:57

标签: ruby-on-rails activerecord

我有过滤问题,在我的情况下我需要按价值过滤产品,它们位于儿童中,但我应该只使用当前版本,我已经通过

创建与上一版本的关联
  has_one :product_current_version, -> { order version: :desc }, class_name: 'ProductVersion', foreign_key: :product_id

但是当我尝试使用

Product.joins(:product_current_version).where('product_current_versions.version = 6')

它返回错误

感谢您的关注,我希望您能帮助我

2 个答案:

答案 0 :(得分:0)

您没有表product_current_versions您有一个表product_versions

Product.joins(:product_current_version).where('product_versions.version = 6')

答案 1 :(得分:-1)

怎么样

Product.joins(:product_current_version).where(product_current_version: { version: 6 })