我为脚手架生成了这段代码:
assert_difference('Day.count') do
post :create, day: @day.attributes
end
你知道吗?它不是:day => @day.attributes
,而是day: @day.attributes
。我的两个开发环境中的一个没有抱怨,另一个抱怨,生产不抱怨。我疯了吗?
答案 0 :(得分:2)
我希望你的一个环境使用Ruby 1.9.2,而一个环境是旧版本的Ruby。
您所看到的是named parameters(有时称为“关键字参数”)的一种形式,它提供了几乎提供命名参数的旧哈希机制的语法糖。
答案 1 :(得分:0)
这是更新的ruby 1.9哈希语法。就个人而言,我从来没有做过转换。好老箭对我很好。你的一个环境显然不支持它。
答案 2 :(得分:0)
这只是新的ruby 1.9语法。您可以在eigenclass.org跟踪ruby语法更改: - )
编辑:这似乎有点格格不入。有趣。