【发布时间】:2016-03-06 14:37:05
【问题描述】:
我无法使用 destroy 方法。当我单击删除时,没有任何反应。没有确认弹出,帖子不会被删除。 控制器中的方法:
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path, :notice => "Your post has been deleted successfully."
end
观点:
<%= link_to "Delete post", @post, data: { confirm: "Are you sure?" }, :method => :delete %>
呈现的 HTML:
<a data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/posts/8">Delete post</a>
application.html.erb 文件是 ror 创建的:
<!DOCTYPE html>
<html>
<head>
<title>Myrubyblog</title>
<%= stylesheet_link_tag 'application', media: 'all', 'dataturbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<% flash.each do |key, value| %>
<p><%= value %></p>
<% end %>
<%= yield %>
</body>
</html>
编辑,其他一切正常。有什么想法可以完成这项工作吗?谢谢
已解决! 问题出在 application.html.erb 文件 javascript_include_tag 中。当我开始这个项目时,我得到了“Pages#home 中的 Rails ExecJS::ProgramError”,所以我将 javascript_include_tag 'application' 更改为 'default'(正如人们在这个线程 stackoverflow.com/questions/28421547/... 中所说的那样)。现在我将它更新为“应用程序”,它可以正常工作。谢谢,凯文!
【问题讨论】:
-
是的,您是否安装了
'jquery-rails'gem? -
看看这对你有没有帮助:stackoverflow.com/a/15800485/1120015
-
您可以在控制台中查看是否有任何 JavaScript 错误。
-
它在控制台中给出了这个 js 错误:"ActionController::RoutingError (No route matches [GET] "/javascripts/default.js")" 但我还没有在这个项目中使用任何 js .
-
我认为问题出在 application.html.erb 文件中的 javascript_include_tag 中。你能编辑你的帖子,包括申请文件吗?
标签: ruby-on-rails ruby destroy