有谁知道为什么这个YAML进行解析,并通过我的应用程序为什么我的yaml不能正确解析?
development:
autocreate_indexes: false
allow_dynamic_fields: true
include_root_in_json: false
parameterize_keys: true
persist_in_safe_mode: false
raise_not_found_error: true
reconnect_time: 3
uri: mongodb://app:[email protected]:27076/app1
正确读取但这YAML不是
defaults: &defaults
autocreate_indexes: false
allow_dynamic_fields: true
include_root_in_json: false
parameterize_keys: true
persist_in_safe_mode: false
raise_not_found_error: true
reconnect_time: 3
development:
<<: *defaults
uri: mongodb://app:[email protected]:27076/app1
我有这个问题的一些在过去的时代,并会删除快捷方式的语法作为解决方法,但是这次我正在处理一个大型应用程序,它在整个地方都使用这种语法,所以我不能轻松转换它。
我从来没有得到yaml解析错误,我只是稍后在调用堆栈中发现应用程序依赖的值时发现各种错误。
我的环境:
的Ubuntu 11.04
蟒蛇2.7.1+
红宝石下RVM 1.9.2-P180
让我知道如果有别的,你会需要弄清楚这一点。
UPDATE
当我删除此文件的语法速记,我得到了一个错误:
psych.rb:148:in `parse': couldn't parse YAML at line 7 column 19 (Psych::SyntaxError)
https://gist.github.com/958472
也许你不能使用同名的节点和引用('defaults:&defaults')? – Eimantas 2011-05-06 04:46:10
尽管这只是一个高级配置文件。依赖宝石中有许多其他地方可以做同样的事情。 – 2011-05-06 04:49:26
它看起来像我在Ruby 1.8.7中预期的那样工作。你能否把错误解析的数据结构添加到你的问题中?如果可能,请使用'pp'打印。 – 2011-05-06 05:00:14