On Thursday, 18 April 2013 15:19:09 UTC-4, [email protected] wrote: > > Hi Frederick, > > Thanks for the help, disabling wrap_parameters in my initializer fixed my > problem. Reason why I am setting the content type for the GET is just > because I have jQuery to always ask for JSON. I could probably set it to > only send the header on POST/PUT requests, but I would still have the > problem were params would get clobbered in my post body anyway. > > Content-Type specifies what format the *request* is in (the data you are sending). For GET requests, it's not particularly meaningful - there isn't a "request body", so there's nothing to specify the format of.
If you want to specify what format you'd like the *response* in, use the Accept header. http://webmasters.stackexchange.com/questions/31212/difference-between-accept-and-content-type-http-headers --Matt Jones > Really appreciate the help! > > On Thursday, April 18, 2013 3:24:13 AM UTC-4, Frederick Cheung wrote: >> >> On Thursday, April 18, 2013 5:10:14 AM UTC+1, [email protected] wrote: >> > Howdy, >> > >> > >> >> > >> > Is there any way I can just turn off this functionality? I think it >> might be because this is an EventsController, and Rails is trying to give >> me something for free, but I just want to send over whatever I want, >> especially as I will have situations like an OrdersController, that I want >> to pass an order to (such as id asc, etc..). >> > >> > >> >> There are 2 things happening. First, by default if the content type is >> json then rails assumes that the request body (in your case the empty >> string) is json, and will parse it and add it to params. >> >> The second is something called wrap_parameters. >> This wraps the parameters from the body in a hash, so if you posted the >> document >> >> {"name": "bob"} >> >> To a users controller, instead of polluting the top level parameter >> namespace it would set params[:user] to the result of parsing that. >> >> There is an initializer that turns on wrap parameters. You could remove >> it and/or only enable it for some controllers. >> >> By default this only happens if the content type is json. >> >> Lastly why are you setting the content type if you're not submitting the >> request body (if you're trying to control the format of the response I find >> that it's easiest not to mess around with headers and requests events.json >> instead) >> >> Fred >> > Thanks for any help, >> > >> > >> > Robert >> >> -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/0b08e788-c767-406f-90d9-9f69b365e4dc%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.

