2016-07-20 6 views
0

config/locales/custom_error.ymlを作成してconfig/initializer/app_errors.rbにロードしています。これは、以下の内容があります。オブジェクトまたはクラスメンバー変数としてYAMLキーにアクセス

custom_error.yml

app_flow: 
    errors: 
    fill_important_fields: "We recommend you to Fill this form " 

app_errors.rb

APP_ERROR = YAML.load_file("#{Rails.root}/config/locales/custom_error.yml") 

は今、私のアプリケーションでは、私はAPP_ERROR['app_flow']['errors']['fill_important_fields']のようにキーにアクセスすることができます - 私はThis Questionを読んではなく、私が求めているのと全く同じです。

私の質問は

私はclass methods/membersが好きなようにこれらのネストされたキーの何かにアクセスしたいです。 app_error.errors.fill_important_fields

答えて

0

ハッシュをスーパーハッシュに変換できます。 (この光宝石付き:https://rubygems.org/gems/shash/versions/0.0.7

APP_ERROR = YAML.load_file("#{Rails.root}/config/locales/custom_error.yml") 
APP_ERROR = APP_ERROR.to_shash 

例:https://rubygems.org/gems:私はそれは宝石から来たのは言及しませんでした申し訳ありません

sa = { first_key: { key_nested: 'value' } }.to_shash 
# => #<Shash:0x000000099d0018 @hash={:first_key=>#<Shash:0x000000099cffa0 @hash={:key_nested=>"value"}>}> 
sa.first_key.key_nested 
# => "value" 
+0

未定義のメソッド 'to_shash」 – ImranNaqvi

+0

/shash/versions/0.0.7 – MrYoshiji

+0

ruby​​ gems rock :) – ImranNaqvi

関連する問題