Rack 1.0的嵌套参数问题/无法冻结Rails 2.3.2.1 - 请帮忙

时间:2009-04-20 19:02:45

标签: ruby-on-rails

我有一个非常奇怪的问题。我将我的应用程序升级到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

https://rails.lighthouseapp.com/projects/8994/tickets/2255-bundled-rack-10-doesnt-loaded-first-in-rails-232

感谢您提供任何提示/想法/解决方案!

1 个答案:

答案 0 :(得分:1)

这个“错误”已经解决,这只是一个非常愚蠢的错误。我意外地用

冻结了机架-0.9.1宝石

rake gems:unpack:dependencies

并没有注意到它。一个简单的

$ sudo rm -rf vendor/gems/rack-0.9.1

做了这个伎俩。

我无法冻结rails edge,因为dev.rubyonrails.org服务器已关闭。

愚蠢的我......