[Rails]data disable-with,confirmを同時に実装する方法
2020/07/22
前置き
何も考えず
data: {confirm: “実行前の確認メッセージ”, disable_with: “実行中のHTML”}
みたいに指定すると、上手く動きません。
実装
1つのlink_toメソッドにdisable_withとconfirmを入れ込むのは現状のRailsでは無理のようなので、
以下のようにJavaScriptも組みわせます。
<script> $(document).ready(function(){ $('#sample').on("confirm:complete", function(event, answer){ if (answer){ $('#sample').addClass("disabled"); $('#sample').html("実行中のHTML"); } }) }); </script>
<%= link_to xxx_path,method: :post,data: {confirm: "確認メッセージ"},id: "sample" %>
これで該当の要素をクリックした際、
data: {confirm: “…..”
で指定したメッセージが表示され、OKされた後は
$(‘#xxxxxx’).html(“…..”);
で指定されたメッセージが表示されて、disabledクラスが適用されます。
ご参考になれば、幸いです。