イベントでリモート リンクを有効にする最良の方法は何ですか?
フォームをロードするリモート リンクがあります。フォームが読み込まれた後、フォームが送信されるかキャンセル リンクがクリックされるまで、リンクを無効のままにしておきます。UJSdata-disable-with
は、リクエストの存続期間中のみリンクを無効にします。つまり、リンクを複数回クリックすると、複数のフォームが読み込まれます。
UJSでこれを行う方法はありますか、それとも独自のJSをロールバックする必要がありますか?
= link_to "Edit", edit_project_path(@project), remote: true, 'data-disable-with' => "Wait"
リンクはこのフォームをロードします:
= form_for @project, remote: request.xhr? do |f|
= f.text_field :name
= content_tag :a, "Cancel", data: { removes: 'project-form' }
= f.submit
キャンセル リンクをクリックすると、フォームが削除されます。
$('.project-summary').on 'click', '[data-removes="project-form"]', ->
$(this).parents('form').remove();