Railsで定数を扱う

例えばTwitterのconsumer_keyとか、どこからでもアクセスできる値として設定したくて調べた。
以下 api_key.yml ってファイルに値を書いて、いろんな所から使いたいって場合。

まず

config/initializers/constants.rb
config/api_key.yml

を作って、
constants.rb には

API_KEY = YAML.load(File.open('config/api_key.yml'))

api_key.yml には

consumer_key: 'hogehoge'
consumer_secret: 'hugahuga'

みたいな感じで書いた。
コンソールで、試してみると

$ rails c
Loading development environment (Rails 3.2.7)
1.9.3p125 :001 > API_KEY['consumer_key']                                                                                                                          
 => "hogehoge"

できてるね。

最後に

YAMLを深く書いてあげればほかにもいろいろ値の追加できそう。
こんなやり方でいいのかしらないけど、満足。