views:

239

answers:

1

Hi,

I have a very strange issue. I upgraded my Application to Rails 2.3.2 without any problems, then freezed it to vendor/rails and worked through all my specs after I also upgraded Rspec to 1.2.4. At some point (I cannot exactly tell you when) nested parameters didn't work anymore.

That means the server receives something like:

{ "post[body]" => "data" }

instead of

{ "post" => { "body" => "data" } }

This issue seems to be known as the Rails 2.3.2 / 2.3.2.1 confusion.

So I worked through all the forums, deinstalled the gem rack-0.9.1 and checked that I have the commit 39ff550fa88da9a22d8c21ca872f5e4d0d83f8d4 (http://github.com/rails/rails/commit/39ff550fa88da9a22d8c21ca872f5e4d0d83f8d4) That means the bundled rack-1.0 should be loaded, at least my rack.rb reads on line 6

$:.unshift(File.expand_path(File.dirname(FILE)))

Still the problem persists and I don't know exactly how to fix this.

I also tried

$ sudo rake rails:freeze:edge RELEASE=2.3.2.1

But the problem isn't solved.

Here are two related lighthouse tickets which didn't solve my problem:

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

Thank you for any hints / ideas / solutions!

+1  A: 

This "bug" is solved, it was just a very stupid mistake. I had accidently frozen the rack-0.9.1 gem with

rake gems:unpack:dependencies

and didn't notice it. A simple

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

did the trick.

I was unable to freeze rails edge because the dev.rubyonrails.org server was down.

Stupid me...

ole_berlin