1

在 Sinatra 应用程序中,我有

 #config.rb
  require 'mongoid'

  class App
    configure do 
        Mongoid.configure do |config|
          name = "my_db"
          host = "localhost"
          config.master = Mongo::Connection.new.db(name)
          config.slaves = [Mongo::Connection.new(host, 27017, :slave_ok => true).db(name)]
          config.persist_in_safe_mode = false
        end
      end
    end

    #Gemfile
    gem "mongoid", "~> 3.0.0"
    gem "bson_ext"

它给了我一个错误“`const_missing': uninitialized constant App::Mongo (NameError)” 我该如何解决?

4

1 回答 1

1

这是因为 Mongoid 3.x 不再使用 10Gen Ruby 驱动程序,Mongo因此require 'mongoid'. 您需要使用新Mongoid.load!方法。随着语法的改变,您可能需要稍微更改 config.yml 文件。请参阅http://mongoid.org/en/mongoid/docs/installation.html

于 2012-11-07T15:55:19.613 回答