0

ボタンに関連付けられたレコード削除の 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
4

1 に答える 1