Comment faire une liste de tableau associatif dans yaml

J’essaie de stocker des variables de configuration dans yaml représentées sous forme de tableau associatif aka dictionary. Voici comment j’ai fait:

content_prices: - {country: AU, price: 6990000} - {country: AT, price: 4990000} - {country: BE, price: 4990000} 

Cela produit une exception lorsque j’essaie de l’parsingr à partir de mes fichiers init ROR:

méthode non définie `symbolize_keys! ‘ pour rien: NilClass

Voici comment je l’initie:

 Config = YAML.load_file("#{Rails.root}/config/prices.yml")[Rails.env].symbolize_keys! 

Je suppose que ma syntaxe est mauvaise, alors comment l’écrire correctement?

Votre YAML est correct ou vous pouvez configurer un tableau de hachages comme ceci:

 content_prices: - country: AU price: 6990000 - country: AT price: 4990000 - country: BE price: 4990000 

Qui va charger comme le hash suivant:

 {"content_prices"=>[ {"country"=>"AU", "price"=>6990000}, {"country"=>"AT", "price"=>4990000}, {"country"=>"BE", "price"=>4990000}]} 

Mais cela ne vous donne toujours aucune référence au Rails.env dans le hash principal. Le problème semble être ce que vous vous attendez à être dans votre hachage plutôt que le format du YAML.

Pas sur les rails, mais sur Symfony2 php, je devais configurer le fichier yml comme ceci:

 content_prices:
   - 
     pays: AU
     prix: 6990000
   - 
     pays: AT
     prix: 4990000
   - 
     pays: BE
     prix: 4990000