gpt4 book ai didi

ruby-on-rails - 删除链接在 Rails 3 View 中发送 "Get"而不是 "Delete"

转载 作者:行者123 更新时间:2023-12-03 07:25:07 25 4
gpt4 key购买 nike

我正在使用 Rails 3,并且有一个页面可以输出数据库中的帖子列表。我希望能够从链接中删除帖子。

下面的第二个示例有效,但第一个示例无效。有人知道为什么第一个不起作用吗?我的观点包含:

# this link sends a "GET" request which asks for the #show function  
<%= link_to 'Delete', post, :method => :delete %>

# this link sends the proper "DELETE" request which asks for the #destroy function
<%= button_to 'Delete', post, :method => :delete %>

我的路线文件包含以下内容:

resources :posts 

最佳答案

确保您的 <head>布局中的部分包括以下内容:

<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>

在 Rails 3 中,删除请求是在 JavaScript 的帮助下处理的,以确保请求正确发送。如果您没有 csrf 元标记和所需的 JavaScript 代码,则删除链接将不起作用。 :defaults JavaScript 文件包括prototype.js 和application.js。后者包含使链接正常工作的内容,但依赖于 Prototype 框架。

如果您不想使用默认的 Prototype JavaScript 库,可以使用其他几个框架的 application.js 端口。你可以找到 jQuery 的 here ,例如。

无论 JavaScript 如何,按钮仍然可以工作,因为使用 button_to 生成的 HTML 代码其本身包含所有必要的信息。这就是为什么您会看到按钮有效而链接无效。

关于ruby-on-rails - 删除链接在 Rails 3 View 中发送 "Get"而不是 "Delete",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com