我正在努力将 Facebook 集成到我的应用程序中。为此,我使用 koala、devise 和omniauth。
对于考拉,我有
/config/facebook.yml
development:
app_id: 123123132123
secret_key: dasadsasd1231231
test:
app_id: 313131313
secret_key: das132asdads12132
production:
app_id: dasdsadsadsadsa
secret_key: adsdsa12das123fds21
然后我也有omniauth:
/config/initalizers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, 123123132123, 'dasadsasd1231231'
end
这里的问题是我在两个位置重复了相同的值。我怎样才能解决这个问题,以便 app_id 和 Secret_key 只存在于一个地方,并且一个文件引用另一个文件?
有一个很棒的 Railscast 可以做到这一点:http://railscasts.com/episodes/85-yaml-configuration-file http://railscasts.com/episodes/85-yaml-configuration-file
In omniauth.rb
,您可以添加这一行:
FACEBOOK_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/facebook.yml")[RAILS_ENV]
然后你可以这样做:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FACEBOOK_CONFIG['app_id'], FACEBOOK_CONFIG['secret_key']
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)