这是我的rails link_to
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),data: {confirm: "Are you sure?"} %>
我尝试了上述方法,但它直接删除而没有任何警报消息。我做错了什么。任何人都可以纠正它。
这是我的rails link_to
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),data: {confirm: "Are you sure?"} %>
我尝试了上述方法,但它直接删除而没有任何警报消息。我做错了什么。任何人都可以纠正它。
尝试这个
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),method: :delete, data: {confirm: "Are you sure?"} %>
rails 4.1.8 的答案(问题不包括版本)
和标准资源(也未指定)
//= jquery_ujs
必须包含在 application.js 中(可能缺失)user_path(@user)
:method => :delete
(缺失):data
(很好)= link_to t(:delete) , user_path(@user), :method => :delete, :class => "btn btn-danger", :data => {:confirm => t(:are_you_sure )}
问题中的 url 似乎创建了一个 GET,而不是一个 DELETE 方法。如果指定了 :method,这可能会起作用。恕我直言,不幸的是,没有为此单独命名的 url 助手。
link_to('Delete', {controller: :controller_name, id: id, action: :action_name}, confirm: "Are you sure you want to delete this?", method: :delete)
我认为你应该使用 :method 选项
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), method: :delete, confirm: "Are you sure?" %>
对这种操作使用按钮(和表单)可能会更好
用于销毁操作的 Rails 确认弹出框:
<%= link_to 'Show', article_path(article),{:class=>'btn btn-success show_article' }%>
<%= link_to 'Edit', edit_article_path(article),{:class=>'btn btn-warning edit'} %>
<%= link_to 'Destroy', '#', "data-toggle"=>"modal", "data-target" => "#delete-#{article.id}",:class=>'btn btn-danger' %>
<div class="modal fade" id="delete-<%= article.id %>" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">Confirmation Box</button>
</div>
<div class="modal-body">
<p>Are you sure to delete this article</p>
</div>
<div class="modal-footer">
<div class="modal-footer">
<%= link_to 'Delete', article_path(article), method: :delete, :class => 'btn btn-danger' %>
<a href="#" data-dismiss="modal" class="btn btn-warning">Cancel</a>
</div>
</div>
</div>
</div>
</div>
</td>
确保包含 jQuery 库和 Rails 的 jQuery 驱动程序。据jquery-rails
我所知,gem 将在以后的 Rails 版本中处理这两个问题。
此外,为了更好地与 jQuery 驱动程序的未来版本兼容,请将:confirm
选项移到外面:data
,让jquery-rails
gem 决定如何处理它。
检查以下链接:
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), confirm: "Are you sure?" %>
对于那些努力寻找与Turbo in rails 7开箱即用的解决方案的人来说,这是一个简短的说明:
<%= link_to 'Delete', url_for(action: :delete, id: @user.id),
data: {turbo_method: :delete, turbo_confirm: 'Are you sure?'} %>