Rails 4 での定数をどこにおいておくべきか
Rails 4 に限らないかもしれないのですが、どこに定数を設定するべきなんでしょうか。 最近(?)は、「app/initializers/constants.rb」というのを作って置いたりするんです。 Rails のアプリ内で使う定数記載箇所?管理について、決定打がなくて、もやもやしていることです。
app/initializers/constants.rb
「app/initializers/constants.rb」は、 こんな感じで書いています。
# 定数 # 基本情報 SITE_NAME = "ふがふが" SITE_URL = ‘urlを書く' STATUS_TYPE = { 公開: 'public', 非公開: 'private', 一部公開: 'group' }
application_controller.rb
「app/controllers/application_controller.rb」に記載する方法もあるんですが、これはこれで便利でした。 が、controller が受け持つことなの?という気もしてきて、疑問に思って、使いませんでした(使ったのもあります)。
定数を管理するgemを使う
いくつかあるみたいなんですが、定数管理だけに、gem を追加したくないなあ…とか、いいも悪いもあって悩むんです。定数をパッと記載したら、すぐに使いたいじゃないですか。いや、一回入れたら、問題なしなんですが...
YAML を使う
少量だといいんですが、だいたい長くなって混乱するという気がするんですが、気のせい?とか、考えると、そもそも、定数にすべき値って何だ?とか考えだして、悩みます。
結論が出ない
結論が出ていないです。 というわけで(?)、「app/initializers/constants.rb」が、いいのかなあ、と思っています。