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

kay*_*uhb 6 app-config api-key ruby-on-rails-3

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

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

对不起noob问题...

joh*_*ley 10

我使用settingslogic插件来做这样的事情.非常好用.

将settingslogic添加到您的Gemfilebundle install:

gem 'settingslogic'
Run Code Online (Sandbox Code Playgroud)

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

/my_app/config/settings/my_settings.yml
Run Code Online (Sandbox Code Playgroud)

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

defaults: &defaults
  api_key: abc123

development:
  <<: *defaults

test:
  <<: *defaults

production:
  <<: *defaults
Run Code Online (Sandbox Code Playgroud)

添加此文件:app/models/my_settings.rb,启动您的应用程序,你很高兴

class MySettings < Settingslogic
  source "#{Rails.root}/config/settings/my_settings.yml"
  namespace Rails.env
end
Run Code Online (Sandbox Code Playgroud)

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

MySettings.api_key
Run Code Online (Sandbox Code Playgroud)