2012-06-26 8 views
12

actualmente estoy usando los siguientes ajustes (que no trabajan) en mi mongoid.yml y he añadido correctamente la variable ambiental MONGOLAB_URI a mi entorno heroku:¿Por qué mi mongoDB hosting configuraciones uri para mongoid.yml no funciona correctamente?

production: 
    sessions: 
    default: 
     another: 
     uri: <%= ENV['MONGOLAB_URI'] %> 

también probé el siguiente la que no funciona:

production: 
    uri: <%= ENV['MONGOLAB_URI'] %> 

Esto también no funciona:

production: 
    sessions: 
    default: 
     uri: <%= ENV['MONGOLAB_URI'] %> 

Estoy recibiendo el siguiente error en el empuje heroku:

Running: rake assets:precompile 
     There is a configuration error with the current mongoid.yml. 
     Problem: 
     No database provided for session configuration: :default. 
     Summary: 
     Each session configuration must provide a database so Mongoid knows where the default database to persist to. What was provided was: {"another"=>{"uri"=>nil}}. 
     Resolution: 
     If configuring via a mongoid.yml, ensure that within your :default section a :database value for the session's default database is defined. 
     Example: 
     \_\_development: 
     \_\_\_\_sessions: 
     \_\_\_\_\_\_default: 
     \_\_\_\_\_\_\_\_database: my_app_db 
     \_\_\_\_\_\_\_\_hosts: 
     \_\_\_\_\_\_\_\_\_\_- localhost:27017 
     There is a configuration error with the current mongoid.yml. 
     Problem: 
     No database provided for session configuration: :default. 
     Summary: 
     Each session configuration must provide a database so Mongoid knows where the default database to persist to. What was provided was: {"another"=>{"uri"=>nil}}. 
     Resolution: 
     If configuring via a mongoid.yml, ensure that within your :default section a :database value for the session's default database is defined. 
     Example: 
     \_\_development: 
     \_\_\_\_sessions: 
     \_\_\_\_\_\_default: 
     \_\_\_\_\_\_\_\_database: my_app_db 
     \_\_\_\_\_\_\_\_hosts: 
     \_\_\_\_\_\_\_\_\_\_- localhost:27017 
     Asset precompilation completed (15.47s) 

¿qué estoy haciendo mal aquí? He seguido las instrucciones mongoid.org:

http://mongoid.org/en/mongoid/docs/installation.html 

estoy usando 3.0.0.rc MongoId

Respuesta

8

Trate ejemplo esta

ENV['MONGOLAB_URI'] = ds053681.mongolab.com:97321 

production: 
    sessions: 
    default: 
     hosts: 
     - <%= ENV['MONGOLAB_URI'] %> 
     database: testapp_production 
     username: testappuser 
     password: testpassword 
+0

Esto no funcionó para mí. Gracias por la ayuda, aunque – Goalie

+0

, ¿cuál es el valor de ENV ['MONGOLAB_URI']? – abhas

+0

He cambiado algunos elementos por motivos de seguridad, pero así es como se ve: 'mongodb: // testappuser: [email protected]: 97321/testapp_production' – Goalie

10

de Abhas no funcionó para mí. Esto es lo que finalmente funcionó:

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

Esto es lo que la página de ayuda de Heroku dice que haga, pero no funciona. – Francisco

+0

Copiar pegar desde esta respuesta no funcionará debido a un error en el nombre de la variable de entorno. Debería ser 'MONGOHQ_URI' y no' MONGOHQ_URL'. Aparte de eso, esta es la forma de pasar los URI de mongodb (por ejemplo, mongodb: // usuario: contraseña @ host: puerto/db? Params) a mongoid como en este momento de la escritura. – punnie

+0

Cambié 'MONGOHQ_URL' a' MONGOHQ_URI'. Espero que eso sea correcto. No he usado esto por un tiempo – CDeutsch

Cuestiones relacionadas