0

イベントでリモート リンクを有効にする最良の方法は何ですか?

フォームをロードするリモート リンクがあります。フォームが読み込まれた後、フォームが送信されるかキャンセル リンクがクリックされるまで、リンクを無効のままにしておきます。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();
4

0 に答える 0