Rails 6.1作用域合并/联接



有人能给我介绍一下如何在Rails6.1中进行合并作用域的文档吗?

在6.1之前,以下内容起作用:

class Product < ApplicationRecord
has_many :inventories, dependent: :destroy
scope :available, -> { joins(:inventories).merge(Inventory.available).group('products.id') }

(给出所有具有正库存价值的产品(

class Inventory < ApplicationRecord
belongs_to :product, touch: true
scope :available, -> { where('number_available > 0') }

现在,我得到以下错误:

ArgumentError(参数数量错误(给定3个,预期2个((

如有任何协助,我们将不胜感激,谢谢:(

在从Rails 6.0更新到6.1时,我也遇到了类似的错误。

我通过将ransackgem升级到>=2.4.0:

# Gemfile
gem 'ransack', '~> 2.4.0'

旧版本的ransak-gem与Rails6.1不兼容。以下是为Rails6.1添加支持的pull请求:https://github.com/activerecord-hackery/ransack/pull/1172

最新更新