2017-06-26 1 views
1

ymlファイルからカスタム設定データを読み込む際に問題が発生します。私はいくつかのリソースを見てきましたが、どこでもそれを取得することはできません。レールのカスタムyaml設定が動作しない

ymlファイルからカスタム設定を読み込もうとすると、空のハッシュが生成されます。

私application.rbが含まれています

config.myapp = config_for(:myapp) 

私myapp.ymlは含まれています

default: &default 
    emails: 
    support: [email protected] 
    marketing: [email protected] 
    address: 123 Test lane 

production: 
    <<: *default 

development: 
    <<: *default 

test: 
    <<: *default 

私が呼ぶとき: Rails.configuration.myapp

私が手:

{} 

何が問題なのでしょうか?

おかげ

+0

あなたのyamlに何も間違っていないので、レール構成でなければなりません。それを手伝ってはいけません。私はシンシア人です。拡張子は.ymlまたは.yamlである必要がありますか? – peter

+0

あなたのファイル 'myapp.yml'は、[doc指定](https://apidock.com/rails/Rails/Application/config_for)の' config/'フォルダになければなりません。 –

+0

私はチェックしてダブルチェックして、それはconfigフォルダにあります:) – rubyist

答えて

1

これは、Applicationオブジェクトのライフサイクルとどこconfig.myapp = config_for(:myapp)呼び出しが座っているとは何かを持っています。

だから私はそれをローカルにしようとしたconfig.before_initializeコールバックブロック内に置くことで、この問題を解決: これは私のconfig/application.rbファイル

config.before_initialize do 
    config.myapp = config_for(:myapp) 
end 

であり、その後、レールにコンソールRails.application.config.myappが正しくから解析された設定をダンプyml。

関連する問題