Hi all,
I'm getting an error in my rails 3 app when trying to update a user's profile:
Started POST "/users/1328-mturner" for 127.0.0.1 at 2010-06-11 13:02:09
ActionController::RoutingError (No route matches "/users/1328- mturner"):
I'm not sure why this is happening as I'm using a standard controller as generated by rails:
def update @user = User.find(params[:id])
respond_to do |format| if @user.update_attributes(params[:user]) format.html { redirect_to(@user, :notice => 'User information was successfully updated.') } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end end
I wonder if it is something to do with the fact it's attempting to POST when it should be PUTting? Why would it be doing this?
Here's what rake routes says about users:
GET /users(.:format) {:controller=>"users", :action=>"index"} users POST /users(.:format) {:controller=>"users", :action=>"create"} new_user GET /users/new(.:format) {:controller=>"users", :action=>"new"} GET /users/:id(.:format) {:controller=>"users", :action=>"show"} PUT /users/:id(.:format) {:controller=>"users", :action=>"update"} user DELETE /users/:id(.:format) {:controller=>"users", :action=>"destroy"} edit_user GET /users/:id/edit(.:format) {:controller=>"users", :action=>"edit"}
Any help would be much appreciated!
Thanks,
Mark