Ответ 1
Попробуйте это
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),method: :delete, data: {confirm: "Are you sure?"} %>
Вот мои рельсы 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?"} %>
Ответ для рельсов 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)}
В вопросе, по-видимому, создается ссылка GET, а не метод DELETE. Это может работать, если: был указан метод. imho, к сожалению, для этого нет отдельного помощника URL-адреса.
Всплывающее окно подтверждения 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>
Я думаю, вы должны использовать: method option
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), method: :delete, confirm: "Are you sure?" %>
Вероятно, лучше использовать кнопку (и форму) для такого действия
link_to('Delete', {controller: :controller_name, id: id, action: :action_name}, confirm: "Are you sure you want to delete this?", method: :delete)
Проверьте следующую ссылку:
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), confirm: "Are you sure?" %>
Убедитесь, что у вас есть библиотека jQuery и драйвер jQuery для Rails. Драгоценность jquery-rails
позаботится обо всех этих в более поздних версиях Rails, из того, что я знаю.
Кроме того, для повышения шансов на совместимость с будущими версиями драйвера jQuery переместите параметр :confirm
вне :data
и пусть камень jquery-rails
решит, что с ним делать.