在Rails 7应用程序中,我试图要求用户在销毁资源之前确认。
在我的动词视图中,我有以下标签:
<%= button_to 'Destroy', account_path(@account), method: :delete, data: { turbo_confirm: "Are you sure?" } %>
生成以下HTML
<form class="button_to" method="post" action="/accounts/483786005">
<input type="hidden" name="_method" value="delete" autocomplete="off">
<button data-turbo-confirm="Are you sure?" type="submit">Destroy</button>
<input type="hidden" name="authenticity_token" value="5shu7zu1uzqtFf-XZryoyLjXXmheOP6lWxSOPvxYhmjX7Pa1m9RxGKzvb9BeehbHqs4s_o4_SHWSBDwSi5Hr3A" autocomplete="off">
</form>
但是当我点击按钮时,资源在没有提示的情况下被销毁。
怎么了?我如何调试这个?
额外信息:
- 我使用的是Rails 7.0.2.3和turbo-rails 1.0.1
- Turbo标签工作正常,所以js库被调用。
我能够通过以下更改在本地解决此问题:
- 我提供给路径的值
- 用表单包装器包装data参数
修改问题中的代码:
<%= button_to 'Destroy', account_path(@account), method: :delete, data: { turbo_confirm: "Are you sure?" } %>
:
<%= button_to "Destroy", @account, method: :delete, form: { data: {turbo_confirm: 'Are you sure?'} } %>