我有一个非常奇怪的问题。我将我的应用程序升级到Rails 2.3.2没有任何问题,然后将其冻结到供应商/ rails并在我将Rspec升级到1.2.4之后完成了我的所有规范。在某些时候(我不能确切地告诉你什么时候)嵌套参数不再起作用。
这意味着服务器收到如下内容:
{ "post[body]" => "data" }
而不是
{ "post" => { "body" => "data" } }
这个问题似乎被称为Rails 2.3.2 / 2.3.2.1混淆。
所以我在所有论坛中工作,卸载了gem rack-0.9.1并检查了我的提交39ff550fa88da9a22d8c21ca872f5e4d0d83f8d4(http://github.com/rails/rails/commit/39ff550fa88da9a22d8c21ca872f5e4d0d83f8d4)这意味着应该加载捆绑的rack-1.0,至少我的机架。 rb在第6行读到
$:.unshift(File.expand_path(File.dirname(FILE)))
问题仍然存在,我不确切知道如何解决这个问题。
我也试过
$ sudo rake rails:freeze:edge RELEASE=2.3.2.1
但问题没有解决。
这是两张相关的灯塔票,但没有解决我的问题:
https://rails.lighthouseapp.com/projects/8994/tickets/2259-params-hash-issues
感谢您提供任何提示/想法/解决方案!
答案 0 :(得分:1)
这个“错误”已经解决,这只是一个非常愚蠢的错误。我意外地用
冻结了机架-0.9.1宝石rake gems:unpack:dependencies
并没有注意到它。一个简单的
$ sudo rm -rf vendor/gems/rack-0.9.1
做了这个伎俩。
我无法冻结rails edge,因为dev.rubyonrails.org服务器已关闭。
愚蠢的我......