繁体   English   中英

:Method =>删除路由不起作用

[英]: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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM