ぼくらの研究

ぼくらのための研究をしていきます。

[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クラスが適用されます。

ご参考になれば、幸いです。