2012-08-13 4 views
5

Ich arbeite an a simple app, die derzeit auf Heroku bereitgestellt wird - es verwendet Mongoid, Gerät und kann Benutzeranmeldung sehr leicht in localhost erstellen, aber nicht in der Produktion bei heroku. Sie können versuchen, ein Konto zu erstellen, und es wird nach dem Senden ein Fehler angezeigt.MongoDB Fehler mit Mongoid, Heroku, Gerät, MongoHQ und Rails

Ich denke mein mongoid.yml für die Produktion muss sich ändern, aber ich habe keine Ahnung, wie.

Mein heroku config hat folgendes:

=== Config Vars for bookfoo 
DATABASE_URL:  postgres://jeibucpexp:[email protected]/jeibucpexp 
GEM_PATH:   vendor/bundle/ruby/1.9.1 
LANG:    en_US.UTF-8 
MONGOHQ_URL:   mongodb://heroku:[email protected]:10065/app6153931 
MONGOLAB_URI:  mongodb://heroku_app6153931:[email protected]:37097/heroku_app6153931 
PATH:    bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
RACK_ENV:   production 
RAILS_ENV:   production 
SHARED_DATABASE_URL: postgres://jeibucpexp:[email protected]/jeibucpexp 

mongoid.yml hat die folgenden, wie in Heroku vorgeschlagen:

development: 
    sessions: 
    default: 
     database: bookfoo_app_development 
     hosts: 
     - localhost:27017 
     options: 
     consistency: :strong 
    options: 
test: 
    sessions: 
    default: 
     database: bookfoo_app_test 
     hosts: 
     - localhost:27017 
     options: 
     consistency: :strong 
production: 
    sessions: 
    default: 
     uri: <%= ENV['MONGOHQ_URL'] %> 
    options: 
     skip_version_check: true 
     safe: true 

mein gemfile hat folgendes:

source 'https://rubygems.org' 

gem 'rails', '3.2.3' 

group :development, :test do 
    gem 'sqlite3' 
    gem 'rspec-rails' 
end 

group :test do 
    gem 'database_cleaner' 
    gem 'mongoid-rspec' 
    gem 'factory_girl_rails' 
    gem 'email_spec' 
    gem 'capybara' 
    gem 'launchy' 
end 

group :production do 
    gem 'thin' 
end 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
gem "mongoid", :git => "git://github.com/mongoid/mongoid.git" 
gem "bson_ext" 
gem "devise" 

nach git push heroku master es gibt mir folgende Hinweise:

There is a configuration error with the current mongoid.yml. 
     Problem: 
     No database provided for session configuration: :options. 
     Summary: 
     Each session configuration must provide a database so Mongoid knows where the default database to persist to. What was provided was: {"skip_version_check"=>true, "safe"=>true}. 
     Resolution: 
     If configuring via a mongoid.yml, ensure that within your :options section a :database value for the session's default database is defined. 
     Example: 
     \_\_development: 
     \_\_\_\_sessions: 
     \_\_\_\_\_\_options: 
     \_\_\_\_\_\_\_\_database: my_app_db 
     \_\_\_\_\_\_\_\_hosts: 
     \_\_\_\_\_\_\_\_\_\_- localhost:27017 

Antwort

5

mongoid.yml sollte so (meine Einbuchtung war falsch):

production: 
    sessions: 
    default: 
     uri: <%= ENV['MONGOHQ_URL'] %> 
     options: 
     skip_version_check: true 
     safe: true 
+0

Dank. Ich habe schon stundenlang gesucht und dann habe ich gemerkt, dass es Einrückung ist: / – macool

Verwandte Themen