我应该在哪里将api密钥存储在rails3中?

时间:2010-11-12 22:41:07

标签: ruby-on-rails-3 app-config api-key

在rails3中存储/检索API密钥的最佳做法是什么?

我应该创建自己的应用程序yaml并通过那里访问它吗?如果是这样,怎么样?

对于noob问题抱歉...

1 个答案:

答案 0 :(得分:10)

我使用settingslogic插件来做这样的事情。非常容易使用。

将settingslogic添加到Gemfilebundle install

gem 'settingslogic'

为您的设置创建一个目录,并将settingslogic yaml放在那里:

/my_app/config/settings/my_settings.yml

您可以包含默认设置和每个环境设置。该文件如下所示:

defaults: &defaults
  api_key: abc123

development:
  <<: *defaults

test:
  <<: *defaults

production:
  <<: *defaults

添加此文件:app/models/my_settings.rb,启动您的应用,您就可以了

class MySettings < Settingslogic
  source "#{Rails.root}/config/settings/my_settings.yml"
  namespace Rails.env
end

现在您可以在应用中的任何位置使用这些设置,如下所示:

MySettings.api_key