rails删除之前确认

ove*_*low 37 ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4

这是我的rails link_to

<%= link_to 'Delete',url_for(action: :delete,id: @user.id),data: {confirm: "Are you sure?"} %>
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的方法但它没有任何警告消息直接删除.我做错了什么.任何人都可以纠正它.

use*_*xyz 55

试试这个

<%= link_to 'Delete',url_for(action: :delete,id: @user.id),method: :delete, data: {confirm: "Are you sure?"} %>
Run Code Online (Sandbox Code Playgroud)


小智 11

rails 4.1.8的回答(问题不包括版本)

和标准资源(也未指定)

  1. //= jquery_ujs 必须包含在application.js中(可能缺少)
  2. 网址是 user_path(@user)
  3. 指定:method => :delete (缺失)
  4. 确认消息:data(很好)
  5. 在控制器中销毁方法(不删除)

= link_to t(:delete),user_path(@ user),:method =>:delete,:class =>"btn btn-danger",:data => {:confirm => t(:are_you_sure)}

问题中的url似乎创建了一个GET,而不是DELETE方法.这可能在以下情况下有效:指定了方法.imho很不幸的是,没有单独的命名url助手.


ins*_*ero 10

Rails 7 之前

<%= link_to 'Delete', url_for(action: :delete, id: @user.id),
  method: :delete, data: {confirm: "Are you sure?"} %>
Run Code Online (Sandbox Code Playgroud)

Rails 7(带 Turbo,开箱即用)

<%= link_to 'Delete', url_for(action: :delete, id: @user.id),
  data: {turbo_method: :delete, turbo_confirm: 'Are you sure?'} %>
Run Code Online (Sandbox Code Playgroud)


小智 6

Rails confirmation popup box for destroy action:

    <%= 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>
Run Code Online (Sandbox Code Playgroud)


era*_*ros 5

@installero 的答案在 Rails 7.0.3 中对我不起作用,我使用以下方法实现了类似的效果button_to

<%= button_to "Delete", @category, form: { data: { turbo_confirm: "Are you sure?" } }, method: :delete %>
Run Code Online (Sandbox Code Playgroud)


Gan*_*war 0

检查以下链接:

<%= link_to 'Delete',url_for(action: :delete,id: @user.id), confirm: "Are you sure?" %>
Run Code Online (Sandbox Code Playgroud)