我使用rvm升级到1.9.2-p180。在安装过程中,获取并安装了libyaml 0.1.3。
现在,当我在这样的rails项目中拥有我的database.yml时:
defaults: &defaults
adapter: mysql
encoding: UTF-8
username: root
password:
host: localhost
engine: InnoDB
test:
<<: *defaults
database: my_app_test
在控制台中,
YAML.load_file("config/database.yml")
结果是:
{"test" => {"apapter" => "mysql"...}}
问题是缺少“数据库”键。似乎没有合并默认节点和测试节点,而只是复制默认节点。
任何想法?
答案 0 :(得分:3)
无论如何,升级到ruby-p290解决了这个问题。
答案 1 :(得分:0)
如果我理解正确,我也不能复制它,也使用1.9.2.180:
irb(main):002:0> YAML::load_file('./test.yml')
=> {"defaults"=>{"adapter"=>"mysql", "encoding"=>"UTF-8", "username"=>"root", "password"=>nil, "host"=>"localhost", "engine"=>"InnoDB"}, "test"=>{"adapter"=>"mysql", "encoding"=>"UTF-8", "username"=>"root", "password"=>nil, "host"=>"localhost", "engine"=>"InnoDB", "database"=>"my_app_test"}}
(向右滚动以查看:"database"=>"my_app_test"}}
)
不确定这是否是一个答案,但我无法将代码放在评论中。如果我有错误的结束,我将编辑或删除...