1

私が持っているシナトラアプリで

 #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 に答える