ruby on rails - :Method => Delete Route Not Working -
ruby on rails - :Method => Delete Route Not Working -
this button delete path seems routed friendships#create action somehow:
<%= button_to "unfriend", unfriend_path(@user), :method => :delete, :class => "btn primary", :remote => true %>
routes file:
match 'friendships/:id', :to => 'friendships#create', :method => :post, :as => 'friendship_request' match 'friendships/:id', :to => 'friendships#destroy', :method => :delete, :as => 'unfriend'
here server log
started post "/friendships/45" 127.0.0.1 @ 2012-01-11 19:56:46 -0500 processing friendshipscontroller#create js parameters: {"authenticity_token"=>"uicoeyatnuqtd1nag8xiutki7b5ioidtpgj/wu8z+i0=", "_"=>"", "method"=>:post, "id"=>"45"} user load (0.2ms) select "users".* "users" "users"."id" = 101 limit 1 user load (0.3ms) select "users".* "users" "users"."id" = 45 limit 1 friendship load (0.2ms) select "friendships".* "friendships" "friendships"."user_id" = 101 , "friendships"."friend_id" = 45 limit 1 friendship load (0.3ms) select "friendships".* "friendships" "friendships"."user_id" = 45 , "friendships"."friend_id" = 101 limit 1 rendered users/_invited.html.erb (0.3ms) rendered friendships/create.js.erb (1.5ms)
here rendered html (with hidden method delete form)
<form method="post" action="/friendships/45" data-remote="true" class="button_to"><div><input name="_method" type="hidden" value="delete"><input action="destroy" class="btn primary" type="submit" value="unfriend"><input name="authenticity_token" type="hidden" value="uicoeyatnuqtd1nag8xiutki7b5ioidtpgj/wu8z+i0="></div></form>
the delete not supported alternative button_to, post , are. (source: http://apidock.com/rails/actionview/helpers/urlhelper/button_to)
make sure there hidden field in generated form named _method value of delete.
if 1 isn't beingness generated, can insert on fly using javascript.
ruby-on-rails ruby-on-rails-3 routes
Comments
Post a Comment