2012-03-16 17 views
4

とMongoidをインストールし、私が追加しました:私のgemfileへ私はレール3.2.2でMongoidを使用しようとしているRailsの3.2.2

gem "mongoid", "~> 2.4" 
gem "bson_ext", "~> 1.5" 

を実行します。

bundle install 

その後、

rails g mongoid:config 

はそのように私のapplication.rbを編集しました0

と私はmongoid.yml持っている:

残し
[email protected]:~/Matteo/Dev/boards$ rails s 
=> Booting WEBrick 
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/railtie/configuration.rb:85:in `method_missing': undefined method `active_record' for #<Rails::Application::Configuration:0x8eb762c> (NoMethodError) 
    from /home/matteo/Matteo/Dev/boards/config/environments/development.rb:26:in `block in <top (required)>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/railtie/configurable.rb:24:in `class_eval' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/railtie/configurable.rb:24:in `configure' 
    from /home/matteo/Matteo/Dev/boards/config/environments/development.rb:1:in `<top (required)>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `block in require' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:236:in `load_dependency' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/engine.rb:571:in `block in <class:Engine>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/initializable.rb:30:in `instance_exec' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/initializable.rb:30:in `run' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/initializable.rb:55:in `block in run_initializers' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/initializable.rb:54:in `each' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/initializable.rb:54:in `run_initializers' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/application.rb:136:in `initialize!' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/railtie/configurable.rb:30:in `method_missing' 
    from /home/matteo/Matteo/Dev/boards/config/environment.rb:5:in `<top (required)>' 
    from /home/matteo/Matteo/Dev/boards/config.ru:4:in `require' 
    from /home/matteo/Matteo/Dev/boards/config.ru:4:in `block in <main>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize' 
    from /home/matteo/Matteo/Dev/boards/config.ru:1:in `new' 
    from /home/matteo/Matteo/Dev/boards/config.ru:1:in `<main>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:200:in `app' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands/server.rb:46:in `app' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:252:in `start' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands/server.rb:70:in `start' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands.rb:55:in `block in <top (required)>' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap' 
    from /home/matteo/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.2/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
[email protected]:~/Matteo/Dev/boards$ rails s 
=> Booting WEBrick 
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
host is not a valid option for Mongo::Connection 
[2012-03-16 20:00:08] INFO WEBrick 1.3.1 
[2012-03-16 20:00:08] INFO ruby 1.9.3 (2012-02-16) [i686-linux] 
[2012-03-16 20:00:08] INFO WEBrick::HTTPServer#start: pid=9936 port=3000 
^C[2012-03-16 20:01:03] INFO going to shutdown ... 
[2012-03-16 20:01:03] INFO WEBrick::HTTPServer#start done. 
Exiting 

:私はmongoidドキュメントにしたが、レール・サーバを実行しているとき、私はこのようなエラーを取得しているようdatabse.yml削除した

development: 
    host: localhost 
    database: boards_development 

test: 
    host: localhost 
    database: boards_test 

# set these environment variables on your prod server 
production: 
    host: <%= ENV['MONGOID_HOST'] %> 
    port: <%= ENV['MONGOID_PORT'] %> 
    username: <%= ENV['MONGOID_USERNAME'] %> 
    password: <%= ENV['MONGOID_PASSWORD'] %> 
    database: <%= ENV['MONGOID_DATABASE'] %> 
    # slaves: 
    # - host: slave1.local 
    #  port: 27018 
    # - host: slave2.local 
    #  port: 27019 

をアクティブなレコードについての行は何もエラーはありませんが、これは:

host is not a valid option for Mongo::Connection 

私は別のものをインストールする必要がありますか?

+0

ああいいえ、それは唯一の –

+0

をStackOverflowのだ私は(ホストの問題を除く)と同様の問題を抱えていました"今あなたはmongoid.ymlを持っているので、その厄介なデータを削除するのを待つことはできませんabase.yml、そうですか?それを実行すると、ActiveRecordのエラーが発生することがあります」http://mongoid.org/docs/installation/configuration.html @ pierre-louis-gには、以下のような修正が加えられています。アクティブレコードと私のインストールは今すぐ動作します。 – jbnunn

答えて

6

あなたは、あなたのアプリからのActiveRecordを削除しませんが、あなたはまだ持っている:ちょうどEDIT

# Raise exception on mass assignment protection for Active Record models 
    config.active_record.mass_assignment_sanitizer = :strict 

    # Log the query plan for queries taking more than this (works 
    # with SQLite, MySQL, and PostgreSQL) 
    config.active_record.auto_explain_threshold_in_seconds = 0.5 

それをコメントその設定オプション。 "active_record"については、environment.rbとapplication.rb(および/ configの下の他のファイル)を調べてください。

3

あなたはまた、彼らは、このファイルに「active_record」を呼び出すコードの2行を追加することのRails 3.2以来のconfig /環境/ development.rb

内のコードの行にコメントすることがあります。あなたが何かをインストールする必要はありません何のホスト上の問題について、それは奇妙だが、答えはある...

5

次回はレールテンプレートを使用するようにしてください。彼らはより速く起動するのに役立ちますし、あなたがすぐに必要になります他の素敵な宝石の多くを追加します:

https://github.com/RailsApps/rails3-application-templates

を使用すると、アクティブなレコードなしrails3のプロジェクト設定にしたい場合は、このコマンドを使用してにmongoidを追加します : - :Gemfile後に任意の手間をかけずに自分のドキュメントによると、しかし、あなたはdatabase.ymlのを削除することになっていない

rails new appname --skip-active-record 
関連する問題