mysql2的未定义方法`next_result'(rails 3)

use*_*717 8 sphinx ruby-on-rails thinking-sphinx ruby-on-rails-3

我曾经使用该软件的第二个版本,没有任何问题.在我的上一次申请中,我决定使用最新的"思考 - 狮身人面像".我有一个奇怪的错误.

> NoMethodError in Adverts#index undefined method `next_result' for
> #<Mysql2::Client:0xac86a54>
Run Code Online (Sandbox Code Playgroud)

我的宝石文件

    gem 'rails', '3.2.11'
    gem 'pg', '0.14.0'  # My database

# for sphinx
                gem "mysql2", "~> 0.3.11"
                gem "thinking-sphinx", "~> 3.0.0"
Run Code Online (Sandbox Code Playgroud)

索引:

ThinkingSphinx::Index.define :car, :with => :active_record do
   has user_id, model_id, city_id, area_id, engine_id, mileage
  end
Run Code Online (Sandbox Code Playgroud)

thinking_sphinx.yml

    development:
      port: 9312
    test:
      port: 9313
    production:
      port: 9312
Run Code Online (Sandbox Code Playgroud)

控制器:

class AdvertsController < ApplicationController
  def index
    @cars = Car.by_model_id(@model_id)
  end
end
Run Code Online (Sandbox Code Playgroud)

模型:

class Car < ActiveRecord::Base
    include ThinkingSphinx::Scopes

    sphinx_scope(:by_model_id) { |id|
      {:with => {:model_id => id}}
    }
end
Run Code Online (Sandbox Code Playgroud)

我的看法

%ul = render:partial =>"item",:collection => @cars,:as =>:item

项目

%的Li = item.id

怎么了?

Ani*_*ana 7

在我花了超过2个小时的时间之后我才开始疯狂,然后再次仔细阅读READ ME文档(https://github.com/pat/thinking-sphinx)并发现它是导致的mysql gem版本.

升级到'mysql2','0.3.12b4'解决了这个问题....