I am dealing with a very simple RESTful Rails application. There is a User model and I need to update it. Rails coders like to do:
if @user.update_attributes(params[:user])
...
And from what I understand about REST, this URL request should work:
curl -d "first_name=tony&last_name=something2&v=1.0&_method=put" http://localhost:3000/users/1.xml
However, it’s quite obvious that will not work because each URL parameter will be parsed to the variable “params” and not “params[:user]”
I have a hackish fix for now, but I wanted to know how people usually handle this.
Thanks
It’s just a matter of how Rails parses parameters. You can nest parameters in a hash using square brackets. Something like this should work:
This should turn into
in your
paramshash. This is how Rails form helpers build the params hash as well, they use the square brackets in the form input tagnameattribute.