ok我正在尝试使用嵌入式ruby调用DELETE HTTP命令。
我的代码是:
<li><%= link_to "Sign out", signout_path, method: "delete" %></li>
在我的路线中我得到了
#Note the use of via: :delete for the signout route, which indicated that it should be invoked using an HTTP DELETE request
match '/signout', to: 'sessions#destroy', via: :delete
但是我收到了这个错误!
No route matches [GET] "/signout"
我写了“方法:”删除“!!为什么它会给我一个GET错误?
应用你告诉我的内容的人,包括application.js打破了我的js代码! 这是我的主要代码: </head>
<!-- Ruby Code -->
<%= stylesheet_link_tag "scaffold" %>
<%= stylesheet_link_tag "myCSS/home.css", :media => "all" %>
<%= stylesheet_link_tag "myCSS/JS_dropdown_menu.css", :media => "all" %>
<%= javascript_include_tag "myJS/jquery-1.7.js" %>
<%= javascript_include_tag "myJS/hoverIntent.js" %>
<%= javascript_include_tag "myJS/jquery.dropdown.js" %>
<%= javascript_include_tag "application.js" %>
<%= csrf_meta_tags %>
</head>
答案 0 :(得分:1)
您正在尝试向只响应DELETE的路由发出GET请求。
为什么这不起作用?你可能没有使用这个包含application.js
:
<%= javascript_include_tag :application %>
这将包括为您的链接提供jquery.js
功能的jquery_ujs.js
和method: "delete"
个文件。
答案 1 :(得分:1)
传递method: 'delete'
的功能依赖于具有正常运行的UJS库。我要做的第一件事就是确保正确包含jquery
和jquery_ujs
个JavaScript文件。