如何在yaml中创build关联数组的列表

我试图存储一些configurationvariablesyaml表示为关联数组aka字典。 这是我做的:

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

当我尝试从我的ROR初始化文件parsing它时,会产生一个exception:

未定义的方法`symbolize_keys!' 为零:NilClass

这是我如何启动它:

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

我猜我的yaml语法是错误的,那么如何正确写入?

你的YAML看起来没问题,或者你可以像这样configuration哈希数组:

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

这将加载为以下哈希:

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

但是,这仍然没有给你任何引用的主哈希Rails.env 。 这个问题似乎是你期望在你的散列,而不是YAML的格式。

不是在rails上,而是在Symfony2 php上,我不得不像这样configurationyml文件:

 content_prices:
   -  
     AU:
    价格:6990000
   -  
    国家:AT
    价格:4990000
   -  
    国家:BE
    价格:4990000