有人能给我介绍一下如何在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时,我也遇到了类似的错误。
我通过将ransack
gem升级到>=2.4.0:
# Gemfile
gem 'ransack', '~> 2.4.0'
旧版本的ransak-gem与Rails6.1不兼容。以下是为Rails6.1添加支持的pull请求:https://github.com/activerecord-hackery/ransack/pull/1172