Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 奇怪的ruby语法错误_Ruby On Rails - Fatal编程技术网

Ruby on rails 奇怪的ruby语法错误

Ruby on rails 奇怪的ruby语法错误,ruby-on-rails,Ruby On Rails,我为scaffold生成了以下代码: assert_difference('Day.count') do post :create, day: @day.attributes end 看到了吗?这不是:day=>@day.attributes,而是day:@day.attributes。我的两个开发环境中有一个不抱怨,另一个抱怨,生产环境也不抱怨。我疯了吗?这是更新的ruby 1.9哈希语法。就我个人而言,我从未做出改变。好的老箭对我很好。您的一个环境显然不支持它。这只是新的ruby 1.

我为scaffold生成了以下代码:

assert_difference('Day.count') do
  post :create, day: @day.attributes
end

看到了吗?这不是
:day=>@day.attributes
,而是
day:@day.attributes
。我的两个开发环境中有一个不抱怨,另一个抱怨,生产环境也不抱怨。我疯了吗?

这是更新的ruby 1.9哈希语法。就我个人而言,我从未做出改变。好的老箭对我很好。您的一个环境显然不支持它。

这只是新的ruby 1.9语法。您可以在以下位置跟踪ruby语法更改:-)


编辑:这似乎是某种形式的错误。有趣。

我希望您的一个环境使用Ruby 1.9.2,而另一个环境使用的是旧版本的Ruby

您所看到的是一种形式的(有时称为“关键字参数”),它围绕几乎提供命名参数的旧散列机制提供语法糖