solidus_searchkick - 未定义的方法 `deep_symbolize_keys'

solidus_searchkick - undefined method `deep_symbolize_keys'

我正在使用 Solidus,我想使用 elasticsearch 实现更好的搜索,我正在使用 solidus_searchkick 来做到这一点。但是我收到以下错误:

undefined method 'deep_symbolize_keys' for #<ActionController::Parameters:0x0000556eae99cda8>

在 Spree::HomeController#index,有:

Spree::HomeController.class_eval do
    def index
        @searcher = build_searcher(params.merge(include_images: true))
        @products = @searcher.retrieve_products
        @taxonomies = Spree::Taxonomy.includes(root: :children)
    end
end

我没有更改 Solidus 的搜索选项中的任何内容。

我在 运行 'bundle install' 之后立即收到此错误,安装一切正常。 然后,我 运行 'rails s' 当我尝试访问我的主页或显示任何产品的任何其他页面时出现此错误。


版本:

这是 Rails 5.1 中已弃用的方法 deep_symbolize_keys 的问题。我刚刚提交了 solidus_searchkick gem 的合并请求。你可以在这里找到它 https://github.com/elevatorup/solidus_searchkick/pull/6/files

如果您将 solidus_searchkick gem 指向该分支,它将起作用。