Rails で config/secrets.yml に書いた値(「キー」に対応する「値」)を呼び出す方法

注意

2022年時点(以降)では credentials を使いましょう*1

結論

Rails.application.secrets.キーの名前

config/secrets.ymlの中に以下のように記述されていたとします。

development:
  foobar: 'happy'

ここでhappyを呼び出すには以下のように書きます。

Rails.application.secrets.foobar

補足

上記の例の場合はdevelopment:を指定しているので、Railsdevelopmentモードの時に呼び出せます(他のモードの場合も同じです)。起動モードに関わらずに値を定義したい場合はshared:配下に書きます。例えば以下のようになります。

shared:
  hogehoge: 'fugafuga'

上記の記述により、fugafugaは、起動モードに関係なくRails.application.secrets.hogehogeで呼び出すことができます。

さらに補足

config/secrets.ymlの先頭の行にも書いてありますが、config/secrets.ymlの内容を変更した場合はサーバを再起動して設定を反映させてください

さらにさらに補足

config/secrets.yml内に重要な内容をべた書きするとかしないとかは各自で考慮して下さい :)

参考ページ(感謝)

http://qiita.com/kennygt51/items/79f758ae08dc3c949986

*1:旧アプリのメンテ等の場合は除く

Powered by はてなブログ