例えば、config/environments/production.rb
Rails 3アプリでは、
config.serve_static_assets = false
変数がたくさんあります。どのような種類の値が利用できるか、また、どのような値に設定されているかを確認するためだけに、これらすべてをまとめて(1 つずつ指定するのではなく、オブジェクトで)印刷(FooController#index などのビューで印刷)するにはどうすればよいでしょうか。
また、ファイル内の値.yml
(ハッシュや設定オブジェクトなど)や 内の値を印刷するにはどうすればconfig/initializers
よいでしょうか。
MyAppFoo::Application.config.session_store :active_record_store
内容を印刷できることが分かりました
ActiveRecord::Base.configurations
だがしかし
ActionController::Base.configurations
MVC コンポーネントのすべての情報を印刷する方法はありますか?
ベストアンサー1
Rails の設定のほとんどは、次の方法でアクセスできます。
Rails.application.config.<your_variable>
config 内の .yml ファイルの値を印刷することに関しては、Rails は から現在の環境の値のみをロードしdatabase.yml
、カスタム yml config ファイルはまさにカスタムとなるため、自分で行う必要があります。これらをすべてロードする方法の 1 つを次に示します...
all_configs = []
Dir[Rails.root.join("config/*.yml")].each {|f| all_configs << YAML.load_file(f) }
初期化子で設定される設定に関しては、それが Rails 構成オプション (例として挙げたセッション ストアなど) である場合は、 を通じて利用できますRails.application.config
。そうでない場合 (たとえば、gem の構成) は、gem クラスからそれらの設定を手動で見つける必要があります。