読者です 読者をやめる 読者になる 読者になる

めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

Rails 4 での定数をどこにおいておくべきか

Ruby on Rails

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」が、いいのかなあ、と思っています。