Getting parameters from the request object

Hi guy's,

I am having trouble getting parameters back from a POST request. I am
using GWT on the front end so I do not have any params[:name].

request.raw_post

returns:

name=hello&date=12&month=07&year=2008&administrator=brewer

I want to separate this into the variables name, date, month, year,
and administrator but I do not know how to do this in Rails. Is there
an easy way?

Any help would be much appreciated.

Tim

Hi guy's,

I am having trouble getting parameters back from a POST request. I am
using GWT on the front end so I do not have any params[:name].

request.raw_post

returns:

name=hello&date=12&month=07&year=2008&administrator=brewer

I want to separate this into the variables name, date, month, year,
and administrator but I do not know how to do this in Rails. Is there
an easy way?

That's odd, as that's just the same data that a form would submit. Is
GWT submitting it with a funny mime type?
You can configure parameter parsers on a per MIME type basis via the
ActionController::Base.param_parsers hash

Fred

The MIME type is text/plain by default in GWT but you can set it too
whatever.

What is it normally set to in a rails form?

OK so I changed the Content-Type to "application/x-www-form-
urlencoded"

and in Mongrel the parameters passed look like this:
Parameters: {"name"=>"hello date=12 month=07 year=2008
administrator=brewer", "action"=>"createEvent",
"controller"=>"calendar"}

i.e. Rails has only identified the first parameter and has assigned
everything else to it. Whats going on?

Incidentally if I set the Content-Type to either text/plain, text/xml
or application/xml Rails gives me a:

  Status: 500 Internal Server Error
  You have a nil object when you didn't expect it!
  You might have expected an instance of ActiveRecord::Base.
  The error occurred while evaluating nil.attributes
   /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
vendor/xml-simple-1.0.11/xmlsimple.rb:708:in `get_attributes'
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
vendor/xml-simple-1.0.11/xmlsimple.rb:462:in `collapse'
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
core_ext/hash/conversions.rb:13:in `xml_in_string'
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
core_ext/hash/conversions.rb:23:in `xml_in_string'
    /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/
core_ext/hash/conversions.rb:171:in `from_xml'

Any help here would be very much appreciated.

Tim

OK so I changed the Content-Type to "application/x-www-form-
urlencoded"

and in Mongrel the parameters passed look like this:
Parameters: {"name"=>"hello date=12 month=07 year=2008
administrator=brewer", "action"=>"createEvent",
"controller"=>"calendar"}

That's odd. Have you checked (eg with tcpdump or similar or sticking a
breakpoint in the rails parameter thingy before it has parsed the
parameters) exactly what bytes your mongrel is receiving ?

Fred