【发布时间】:2022-12-16 09:40:21
【问题描述】:
当管理员点击“删除公园”按钮时,我想要一个“你确定吗?”在删除公园之前弹出确认对话框。
我读过很多其他使用 Rails 7 的人通过向表单添加确认消息而获得成功,如下所示:
<% provide(:title, @park.name) %>
<%= render 'park_details' %>
<div>
<%- if current_user && current_user.admin? %>
<%= link_to "Edit this park", edit_park_path(@park) %> |
<% end %>
<%= link_to "Back to parks", parks_path %>
<%- if current_user && current_user.admin? %>
<%= button_to "Delete park", @park, method: :delete,
class: "btn btn-danger",
form: { data: { turbo_confirm: "Are you sure?" } } %>
<% end %>
</div>
以上对我不起作用。公园在没有确认消息的情况下被删除。
表单的 html 呈现如下:
<form data-turbo-confirm="Are you sure?" class="button_to" method="post" action="/en/parks/7"><input type="hidden" name="_method" value="delete" autocomplete="off"><button class="btn btn-danger" type="submit">Delete park</button><input type="hidden" name="authenticity_token" value="XuQsxUyS0LiyYyP_xm1f7XFv9iCkBejRLnSu6DwWOxwQZQVDvkAI_NMRPTuAhLplMbcDZwldwOzmIq_5LqiGnw" autocomplete="off"></form>
此外,如果我使用 link_to 而不是 button_to,公园根本不会被删除(不确定这是否相关但将其包含在描述中以防万一)。
正如有人在这里建议的那样,这可能是 javascript 的问题吗? Ruby on rails: <%= link_to 'Destroy'... doesn't work, but <%= button_to 'Destroy'... does work perfectly
我是初学者,所以不确定要检查什么配置/代码。如果我可以发布更多详细信息来帮助解决此问题,请告诉我。
【问题讨论】:
-
您好,请查看以下链接。 stackoverflow.com/a/70671361/12111186这对你有帮助
-
谢谢@AmolMohite 我以前看过这个帖子,卸载并重新安装了 turbo-rails 1.1.1,但它没有解决问题。
标签: ruby-on-rails ruby-on-rails-7 turbo button-to rails7