mysql2 rails3.1 error - PullRequest
       3

mysql2 rails3.1 error

1 голос
/ 06 октября 2011

Я на Windows XP, с рельсами 3.1, и я использую mysql2 0.2.6, но когда я, когда я пытаюсь сделать запрос, как:

Product.all

я получил этот ответ:

irb(main):001:0> Product.all
  ←[1m←[36m (0.0ms)←[0m  ←[1mSHOW TABLES←[0m
  ←[1m←[35m (0.0ms)←[0m  describe `products`
ArgumentError: wrong number of arguments (3 for 2)
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/active_record/connection_adapters/mysql2_adapter.rb:634:in `select'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:18:in `select_all'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:63:in `select_all'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/base.rb:470:in `find_by_sql'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/relation.rb:111:in `to_a'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/activerecord-3.1.0/lib/active_record/relation/finder_methods.rb:155:in `all'
        from D:in `all'
        from (irb):1
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:45:in `start'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:8:in `start'
        from D:/projects/rails/_API/rake/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:40:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

мой контроллер:

  def index
    @products = Product.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @products }
    end
  end

мои модели:

class Product < ActiveRecord::Base
  define_index do
    indexes brand
    indexes name
    indexes denomination
  end
end

1 Ответ

2 голосов
/ 02 января 2012

mysql2 0.2.6 не совместим с Rails 3.1. Вам следует либо понизить Rails до 3.0.7, либо обновить mysql2 до 0.3.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...