当管理员单击“删除公园”按钮时,我希望在删除公园之前弹出“你确定吗?”确认对话框。
我读过很多其他使用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
我是一个初学者,所以不知道什么配置/代码检查。让我知道,如果有更多的细节,我可以张贴,以帮助解决这个问题。
3条答案
按热度按时间ippsafx71#
尝试使用javascript
envsm3lx2#
通过重新安装Turbo解决了这个问题,正如michael-reeves在这里所建议的:https://github.com/rails/rails/issues/44170
$ rails导入Map:安装
$ rails turbo:安装刺激:安装
wljmcqd83#
这对我很有效。确认消息弹出,删除链接也有效。
下面是destroy的控制器:
“turbo_方法::删除”和“状态::see_other”是关键部分。如果我回答这个问题太晚了,我很抱歉,但这对我的rail7应用程序很有效。我花了很多时间在谷歌上搜索,才最终摆脱了“button_to”的需要。我希望这能帮助到一些人。