[英]How to create fixtures (for a Devise user) as a yml.erb in rails (4.1.5)?
[英]how to keep leading zeros in Rails yml fixtures?
我试图在Rails 4 beta1的“最小”测试中使用“ food_descriptions”固定装置:
butter:
NDB_No: "01001"
FdGrp_Cd: "0100"
Long_Desc: "Butter, salted"
我的测试是这样的:
it "must work" do
food_descriptions(:butter).NDB_No.must_equal "01001"
end
但是,当我运行测试时,出现以下错误: 预期:“ 01001”实际:1001我不明白为什么该数字不能识别为字符串。 我读过yml将以0开头的值视为八进制值,因此添加引号应足以将其视为字符串,但不起作用。 我也尝试过管道“ |” 标志,但也不起作用。 知道为什么吗?
原来问题不是我所想的(yml)。 问题是这些夹具被推送到数据库,而测试实际上是从数据库中检索条目(我认为夹具只是在内存中),并且该值的数据库列类型是整数,而不是字符串,因此前导零被删除。 我的真正问题是,我希望该列成为字符串类型表的主键,并且我没有意识到我创建的迁移没有将测试数据库中列的类型更改为字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.