Ruby on rails 如何在RubyonRails中发出删除请求

Ruby on rails 如何在RubyonRails中发出删除请求,ruby-on-rails,routing,Ruby On Rails,Routing,在我的rails应用程序中,我有以下链接: <%= link_to("Log out", logout_path, method: :delete)%> 但是,当我单击“注销”链接时,会出现以下路由错误: No route matches [GET] "/logout" 似乎即使我指定了“method::delete”,函数“link_to”仍然发出get请求而不是delete请求。 如何使用RubyonRails发送删除请求 My application.js如下所示: //=

在我的rails应用程序中,我有以下链接:

<%= link_to("Log out", logout_path, method: :delete)%>
但是,当我单击“注销”链接时,会出现以下路由错误:

No route matches [GET] "/logout"
似乎即使我指定了“method::delete”,函数“link_to”仍然发出get请求而不是delete请求。 如何使用RubyonRails发送删除请求

My application.js如下所示:

//= require rails-ujs
//= require activestorage
//= require turbolinks
//= require_tree .
//= require jquery
//= require jquery_ujs
//= require bootstrap

这通常是由于
application.JS
中缺少JS依赖项造成的

如果您使用的是Rails 5,请添加:

//= require rails-ujs
对于早期版本,请确保您具有:

//= require jquery
//= require jquery_ujs 
在那里

原因是Rails的一点魔力“伪造”了删除请求,因为大多数浏览器都不支持这个功能。它会将
data method=“delete”
添加到您的HTML标记中,允许您的应用程序识别请求,并作为
delete
处理(即使它实际上是作为
GET
请求发送的)

此外,请确保通过布局中的以下行加载所述Javascript:

<%= javascript_include_tag "application" %>


让我知道你进展如何,或者如果你有任何问题-希望这能有所帮助。

你能把
application.js
贴到问题上吗?我在application.js中有所有要求。我生成的HTML的行为:“”。问题是,羞耻。加载页面时,您是否在JS控制台中看到任何错误?我终于找到了错误。我没有正确地包含js文件,我在Gemfile中有引导和引导sass,它们导致了一些奇怪的错误。谢谢
<%= javascript_include_tag "application" %>