【问题标题】:mysql2 rails3.1 errormysql2 rails3.1 错误
【发布时间】:2011-12-02 02:53:12
【问题描述】:

我在 windows xp 上,使用 rails 3.1 我使用 mysql2 0.2.6 但是当我 当我尝试提出如下请求时:

产品.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

【问题讨论】:

  • 您的控制器代码没有用,迁移可能会更有趣,您是否尝试过重置您的数据库? $ rake db:reset,恕我直言,不好的选择窗口
  • 不,实际上我认为迁移在这里没有帮助......我会尝试不同的宝石组合

标签: ruby-on-rails-3 mysql2


【解决方案1】:

mysql2 0.2.6 与 Rails 3.1 不兼容。 您应该将 Rails 降级到 3.0.7 或将 mysql2 升级到 0.3.1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2012-12-21
    • 2017-01-28
    • 2011-08-12
    相关资源
    最近更新 更多