RubyGems升级造成yaml parse错误
遇到个很蛋疼的问题,mongoid的配置文件(一个YAML)文件引发了下面这个错误:
db_name must be a string or symbol
...MONGOID_PATH/lib/mongo/util/support.rb:50:in `validate_db_name'
Google到这里,知道原因是RubyGem v1.5.0开始把默认的yaml parser从syck改成了psych。
解决方法一当然是改你的yaml让它可以被parse,如果需要使用之前的parser,那要在config/environment.rb中加上以下两行
require 'yaml'
YAML::ENGINE.yamler= 'syck'
话说这好像是第一次写ruby/rails的文章,刚刚玩了两三个星期~
以上