0

我正在使用 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 的搜索选项中的任何内容。

我在运行“捆绑安装”后立即收到此错误,安装一切都很好。然后,我运行“rails s”,当我尝试获取我的主页或任何其他显示任何产品的页面时出现此错误。


版本:

  • 导轨:5.1.6
  • 红宝石:2.5.1
  • solidus_searchkick:0.3.4
  • 固体:2.5.0
4

1 回答 1

0

这是deep_symbolize_keysRails 5.1 中不推荐使用的方法的问题。我刚刚为solidus_searchkick gem 提交了一个Pull Request。你可以在这里找到它https://github.com/elevatorup/solidus_searchkick/pull/6/files

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

于 2018-07-28T22:05:09.963 回答