2

我在我的项目中加入了thinking_sphinx gem。

Article.search "Bla-bla-bla"工作正常。

但是当我在我的 Gemfile 中包含 ransack gem 时,我得到了错误:

NoMethodError: undefined method `with_indifferent_access' for "Bla-bla-bla":String from /Users/ashvalev/.rvm/gems/ruby-1.9.2-p290/gems/ransack-0.7.2/lib/ransack/search.rb:21:in `initialize'

这是因为 ransack gem 的搜索方法也使用名称“搜索”。

我能做些什么来让这些宝石一起工作?

4

2 回答 2

0

您需要在 Gemfile 中的 thinking-sphinx 之前列出 ransack - 加载顺序很重要。

虽然我肯定会建议在搜索时只使用两者之一。

于 2014-05-14T22:29:16.653 回答
0

解决方案是调用 ThinkingSphinx.search 而不是特定模型的 #search 方法。

代替

Article.search "Bla-bla-blah"

使用系统范围的搜索调用,但仅限于类...

ThinkingSphinx.search "Bla-Bla-Blah", classes: [Article]
于 2014-05-14T18:14:10.303 回答