2011-10-26 16 views
5

Mam plik konfiguracyjny yaml, mongo.yml:Zastosowanie yaml dla 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 

Jak używać tego pliku do konfiguracji i połączeniu z MongoMapper?

Odpowiedz

9

MongoMapper po prostu użyje pliku, jeśli używasz Railsów, a plik ma numer config/mongo.yml. Jeśli nie jesteś na szynach, można dostosować 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 

Również „adapter” w pliku jest obcy. (Zobacz Getting Started documentation). A mongo.yml z rails g mongo_mapper:config wygląda następująco:

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

(patrz edytowana odpowiedź) –