当我在我的Gemfile中包含ransack gem时,Thinking_sphinx搜索方法不起作用

时间:2013-09-20 11:27:46

标签: ruby-on-rails thinking-sphinx ransack

我在项目中包含了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也使用名称“search”作为搜索方法。

如何让这些宝石协同工作?

2 个答案:

答案 0 :(得分:0)

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

而不是

Article.search "Bla-bla-blah"

使用系统范围的搜索呼叫,但约束到班级...

ThinkingSphinx.search "Bla-Bla-Blah", classes: [Article]

答案 1 :(得分:0)

你想在你的Gemfile中思考sphinx之前列出搜索 - 加载顺序很重要。

虽然我肯定会建议在搜索时只使用其中一种。