2011-10-26 14 views
5

tengo mi archivo de configuración YAML, mongo.yml:Uso Yaml para MongoMapper Config

development: 
    adapter: mongodb 
    database: fhsclock_development 
    host: localhost 
    port: nil 

test: 
    adapter: mongodb 
    database: fhsclock_test 
    host: localhost 
    port: nil 

production: 
    adapter: mongodb 
    database: fhsclock 
    hosts: 
    - - localhost 
    - nil 
    - - staff.mongohq.com 
    - 10015 

¿Cómo utilizar este archivo para la configuración y la conexión con MongoMapper?

Respuesta

9

MongoMapper solo usará el archivo si está utilizando Rails y el archivo está en config/mongo.yml. Si no está en los carriles, se puede adaptar this code from the source:

config_file = Rails.root.join('config/mongo.yml') 
if config_file.file? 
    config = YAML.load(ERB.new(config_file.read).result) 
    MongoMapper.setup(config, Rails.env, :logger => Rails.logger) 
end 

Además, el "adaptador" en su archivo es extraña. (Ver el Getting Started documentation). Un mongo.yml de rails g mongo_mapper:config se parece a:

defaults: &defaults 
    host: 127.0.0.1 
    port: 27017 

development: 
    <<: *defaults 
    database: my_app_development 

test: 
    <<: *defaults 
    database: my_app_test 

# set these environment variables on your prod server 
production: 
    <<: *defaults 
    database: my_app 
    username: <%= ENV['MONGO_USERNAME'] %> 
    password: <%= ENV['MONGO_PASSWORD'] %> 
+0

(véase la respuesta editada) –