【问题标题】:Datatables issue with MongoID , Rails 3.1MongoID,Rails 3.1 的数据表问题
【发布时间】:2012-02-25 00:44:06
【问题描述】:

我正在使用支持 MongoID 的数据表 gem (https://github.com/potatosalad/mongoid-data_table), 但是以下代码引发了异常

format.json do
    render :json => Game.to_data_table(self)
end

Game.to_data_table(self)


INTERNAL ERROR!!! undefined method `page' for #<Array:0xb38d7bc>
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/mongoid-2.2.5/lib/mongoid/criteria.rb:369:in `method_missing'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/bundler/gems/mongoid-data_table-23283e37979c/lib/mongoid/data_table/proxy.rb:47:in `collection'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/bundler/gems/mongoid-data_table-23283e37979c/lib/mongoid/data_table/proxy.rb:263:in `method_missing'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/commands/eval.rb:47:in `block in execute'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/commands/eval.rb:19:in `run_with_binding'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/commands/eval.rb:46:in `execute'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:280:in `one_cmd'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:261:in `block (2 levels) in process_commands'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:260:in `each'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:260:in `block in process_commands'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:253:in `catch'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:253:in `process_commands'
    /home/naveed/.rvm/gems/ruby-1.9.2-p290@rails3/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:173:in `at_line'
    (eval):5:in `block in at_line'
    <internal:prelude>:10:in `synchronize'
    (eval):3:in `at_line'

这些是我的 mongo 宝石

gem 'mongo'
gem "mongoid", "~> 2.1"
gem 'bson', '= 1.4.0'
gem 'bson_ext', '= 1.4.0'

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 mongodb rubygems mongoid


    【解决方案1】:

    我知道bson 1.4.0 gem 曾经出现过问题,他们实际上撤销了它,然后又放回了一个新的。也许尝试升级bson 和bson_ext gems。您可以从 Gemfile 中删除 mongo gem,因为它是 mongoid 的依赖项。同样,您可以从 Gemfile 中删除 bson gem,因为它是 mongo 的依赖项(这是 mongoid 的依赖项)。同时删除bson_ext gem 的版本规范。然后执行bundle update bson 和bundle update bson_ext。看看能不能解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-25
      • 2011-09-18
      • 2015-11-05
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多