2011-05-06 15 views
8

Uygulamamda facebook'u entegre etmeye çalışıyorum. Bunu yapmak için koala, devise ve omniauth kullanıyorum. koala içinBir yapılandırma/başlatıcıda YML değerlerini kullanma

, ben o da omniauth ile yapmış

/config/facebook.yml 

development: 
    app_id: 123123132123 
    secret_key: dasadsasd1231231 
test: 
    app_id: 313131313 
    secret_key: das132asdads12132 
production: 
    app_id: dasdsadsadsadsa 
    secret_key: adsdsa12das123fds21 

var: Burada

/config/initalizers/omniauth.rb 

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, 123123132123, 'dasadsasd1231231' 
end 

Sorun her iki konumda da tekrarlanan aynı değere sahip olduğunu. Bunu nasıl kurabilirim ki app_id ve secret_key sadece bir yerde yaşar ve bir dosya diğerine başvurur?

cevap

9

bunu büyük bir Railscast yok:

FACEBOOK_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/facebook.yml")[RAILS_ENV] 

Sonra yapabilirsiniz: ek olarak

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, FACEBOOK_CONFIG['app_id'], FACEBOOK_CONFIG['secret_key'] 
end 
+0

S3 config, http://stackoverflow.com/questions/6305523/rails3-how-to-get-at-aws-s3s-yml-config-data-in-the- hakkında benzer bir soru ile bana yardımcı oldu app/6306039 # 6306039, teşekkürler! –