我有控制器销毁方法
def destroy
@category = Category.find(params[:id])
@category.destroy
redirect_to backend_categories_path
end
并查看两个不同的销毁链接
<%= link_to 'Destroy', backend_category_path(category), method: :delete, data: { confirm: 'Are you sure?' } %>
<%= button_to 'Destroy', backend_category_path(category), :confirm => "are you sure?", :method => :delete %>
问题是:
安装了jquery gem 什么问题?
rails版本是3.2.13
答案 0 :(得分:0)
实际上,您不应该通过GET
请求访问任何破坏性操作。除了其他问题之外,您还可能会在抓取您的网站时冒被删除的风险。
那就是说,你对button_to
的使用在语法上是正确的。确认消息失败可能是由于Javascript错误造成的。您确定<head>
中有以下内容吗?
# app/views/home/index.html.erb
<head>
<%= javascript_include_tag(:defaults) %>
<%= csrf_meta_tag %>
</head>
答案 1 :(得分:0)
在您的应用程序布局的开头,您是否添加了&lt;%= javascript_include_tag“应用程序”%&gt; ?像这样:
<!DOCTYPE html>
<html>
<head>
<title>title of page</title>
.....
.....
<%= javascript_include_tag "application" %>
<%= csrf_meta_tag %>
</head>
....
并确保 app / assets / application.js 文件中包含以下行:
//= require jquery
//= require jquery_ujs
//= require_tree .
我认为您也可以将<%= button_to Destroy',backend_category_path(category), ....
替换为<%= button_to 'Destroy', category, ....