One Response

Are you both using the same browser? What is the CONTENT_TYPE of the POST?

This seems suspect to me:

rails/actionpack/lib/action_controller/base.rb:287

# Modern REST web services often need to submit complex data to the web application.
# The @@param_parsers hash lets you register handlers which will process the HTTP body and add parameters to the
# params hash. These handlers are invoked for POST and PUT requests.
#
# By default application/xml is enabled. A XmlSimple class with the same param name as the root will be instantiated
# in the params. This allows XML requests to mask themselves as regular form submissions, so you can have one
# action serve both regular forms and web service requests.
#
# Example of doing your own parser for a custom content type:
#
# ActionController::Base.param_parsers[Mime::Type.lookup(‘application/atom+xml’)] = Proc.new do |data|
# node = REXML::Document.new(post)
# { node.root.name => node.root }
# end
#
# Note: Up until release 1.1 of Rails, Action Controller would default to using XmlSimple configured to discard the
# root node for such requests. The new default is to keep the root, such that “David” results
# in params[:r][:name] for “David” instead of params[:name]. To get the old behavior, you can
# re-register XmlSimple as application/xml handler ike this:
#
# ActionController::Base.param_parsers[Mime::XML] =
# Proc.new { |data| XmlSimple.xml_in(data, ‘ForceArray’ => false) }
#
# A YAML parser is also available and can be turned on with:
#
# ActionController::Base.param_parsers[Mime::YAML] = :yaml

That’s the first thing that looked promising after I acked for “params” in the rails source. Other than that, where’s your debugger?