ボタンに関連付けられたレコード削除の AJAX 実装を使用しようとしています。問題は、そのような場合にajax:successイベントがトリガーされないように見えることです。
この投稿からの提案を実装しました: Rails :confirm modifier callback? )しかし、それが好ましい方法であるかどうかはわかりません。
この場合、共同体の知恵が役立つかどうか疑問に思っていました。ここで正しいアプローチは何ですか?
app/views/competitions/show.html.haml:
%td= button_to 'Delete', contender, remote: true, method: :delete, class: 'delete_contender', confirm: 'Are you sure?' if owns?
app/assets/javascripts/competitions.js:
$(document).ready(function() {
$('.delete_contender').on('confirm:complete', function(e, res) {
if (res) {
$(e.currentTarget).closest('tr').fadeOut();
}
});
});
app/controllers/contenders_controller.rb:
def destroy
@contender = Contender.find(params[:id])
@competition = @contender.competition
@contender.destroy
respond_to do |format|
format.js
format.html { redirect_to @competition, notice: "Contender #{@contender.sn_name} has been deleted" }
format.json { head :no_content }
end
end