settings.ymlをなぜ使うのか
マジカルな定数が出てきてしまうときに、コードにあんまりそいつを登場させたくない。なぜなら、定数が変化したときに変えなきゃいけない箇所が多くなるから。もしくは、その定数自体が何も意味を暗示していない場合、非常にコードが読みにくくなるので、登場させたくないですね。
そういう場合にsettings.ymlで定数をまとめて、扱いやすくしちゃいましょう。
どう使うのか
config/settings.yml
# 定数を一箇所にまとめることで一括変更しやすく。
reply_templates:
reply_email: "お世話になっております。"
reply_phone_call: "もしもし太郎です。"
# => 外から
# Settings.reply_templates.reply_email
# のようにアクセスできる
# それ自体意味のない数字を生徒名からアクセスできるように。
students:
id:
taro: 1
hanako: 2
kenta: 3
# => 外から
# Settings.students.id.taro
# のようにアクセスできる
てな感じで使えるわけですね。
コードに入れたくないなぁっていう定数が入ってしまう場合は、settings.ymlを使いましょう。
gem追加と初期設定に関しては
このqiitaによくまとめられているので参照してください
-> http://qiita.com/hilotter/items/45616c83704a15532987