The Rails 2.3.2 release contains a bug that was later resolved
in the next commit:
http://github.com/rails/rails/co...
Due to a load path bug, if a version of Rack is installed as a
gem, it will be be used instead of the bundled 1.0 version that
comes with Rails 2.3.2. In my case I have rack-0.9.1 installed as a
gem and when submitting a form the parameters look like:
{ "post[body]" => "data" }
If I remove rack-0.9.1 or use commit
39ff550fa88da9a22d8c21ca872f5e4d0d83f8d4 which loads the bundled
Rack-1.0 first, the same post will return the params hash:
{ "post" => { "body" => "data" } }
In the common case where a controller has a create action with
the code @post = Post.new(params[:post]), in the current case of
Rails 2.3.2, params[:post] will return nil and break the
application.