2012-08-13 11 views
5

मैं a simple app पर काम कर रहा हूं जो वर्तमान में अबोकू में तैनात है - यह मोंगोइड, डिवाइस का उपयोग कर रहा है और स्थानीयहोस्ट में उपयोगकर्ता लॉगिन को आसानी से बना सकता है, लेकिन उत्पादन में नहीं Heroku। आप खाता बनाने का प्रयास कर सकते हैं, और सबमिट करने के बाद यह एक त्रुटि देता है।मोंगोइड, हेरोकू, डिवाइस, मोंगोएचक्यू और रेल के साथ मोंगोडीबी त्रुटि

मुझे लगता है कि उत्पादन के लिए मेरे mongoid.yml को बदलने की जरूरत है, लेकिन मुझे नहीं पता कि कैसे।

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" 

के बाद git push heroku master:

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 

मेरी gemfile निम्नलिखित है:

=== 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 निम्नलिखित के रूप में Heroku में सुझाव दिया गया है:

मेरे heroku config निम्नलिखित है यह मुझे निम्नलिखित संकेत देता है:

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 

उत्तर

5

mongoid.yml तो होना चाहिए (मेरे खरोज गलत था): इस के लिए

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

धन्यवाद। मैं पहले से ही घंटों की तलाश में था और फिर मुझे एहसास हुआ कि यह इंडेंटेशन था: / – macool

संबंधित मुद्दे