[英]:Method => Delete Route Not Working
删除路径的这个按钮似乎以某种方式被路由到我的friends#create操作:
<%= button_to "Unfriend", unfriend_path(@user), :method => :delete, :class => "btn primary", :remote => true %>
路线文件:
match 'friendships/:id', :to => 'friendships#create', :method => :post, :as => 'friendship_request'
match 'friendships/:id', :to => 'friendships#destroy', :method => :delete, :as => 'unfriend'
这是服务器日志
Started POST "/friendships/45" for 127.0.0.1 at 2012-01-11 19:56:46 -0500
Processing by FriendshipsController#create as JS
Parameters: {"authenticity_token"=>"UicOeyAtNuQTd1nAg8XiUtki7B5iOiDtPgJ/Wu8Z+i0=", "_"=>"", "method"=>:post, "id"=>"45"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = 101 LIMIT 1
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 45 LIMIT 1
Friendship Load (0.2ms) SELECT "friendships".* FROM "friendships" WHERE "friendships"."user_id" = 101 AND "friendships"."friend_id" = 45 LIMIT 1
Friendship Load (0.3ms) SELECT "friendships".* FROM "friendships" WHERE "friendships"."user_id" = 45 AND "friendships"."friend_id" = 101 LIMIT 1
Rendered users/_invited.html.erb (0.3ms)
Rendered friendships/create.js.erb (1.5ms)
这是呈现的HTML(带有隐藏方法delete表单)
<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>
button_to不支持delete选项,只有post和get可以。 (来源: http : //apidock.com/rails/ActionView/Helpers/UrlHelper/button_to )
确保在生成的表单中存在一个名为_method的隐藏字段,其值为delete。
如果未生成,则可以使用Javascript即时将其插入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.