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
Dank. Ich habe schon stundenlang gesucht und dann habe ich gemerkt, dass es Einrückung ist: / – macool