新しいアプリケーションでこれを「RailsWay」にすることに興味があります。また、コードを読みやすくするために、ある種のコンテキストで定数を参照したいと思います。ユーザーが別のユーザーのデータセットへのアクセスを要求できるアプリケーションがあります。このAccessRequestは、次のいずれかのステータスになります。
レビュー拒否承認済み
これらの値は将来レポート機能で使用されるので、スペルや大文字の問題を回避するために、これらの値を定数にしたいと考えています。これらをconfig/initializersディレクトリのconstants.rbファイルに入れるだけだと思いました。
これらをAccessRequest :: REVIEWと呼びたいと思います。私はすでにAccessRequestというモデルを持っているので、そこに置くのは理にかなっていますか?または、config/initializersディレクトリのconstants.rbファイルのクラスでそれらをラップしますか? Rails Way?
Rails 3。では定数を使用する必要はありません。Rails:: Applicationシングルトンを使用することをお勧めします。
Application.rbでは、次のように定数を定義できます。
module Yourapp
class Application < Rails::Application
config.access_request.review = 'xxx'
end
end
あなたのコードの後で呼び出すことができます
Yourapp::Application.config.access_request.review
各環境で値を変更した後は、config/environments/production.rb
または他の環境でconfig.xxを定義するだけです。
返信が遅れましたが、この回答が検索結果に表示されるため、投稿します。定数はモデルに直接関係するため、モデルに定数を配置することには意味があります。 Railsアプリケーション構成を使用して定数を格納するのは正しくありません。
Application.rbにリストされているコメントによると:
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded
これはRails 3。 の時点でまだ有効です