1

link_to :method => :delete私のアプリのすべてには、:data => {:confirm => "Are you sure?"}

DRY の精神で、この確認メッセージを 1 回設定して、全体で自動的に表示されるようにすることはできますか?

4

2 に答える 2

2

最も簡単な方法は、ヘルパー メソッドを使用することです。

== アプリケーションヘルパー

def delete_link(object)
    raw (link_to 'Destroy', object, method: :delete, data: { confirm: 'Are you sure?' })
end

== 見る

<% @jobs.each do |job| %>
  <tr>
    <td><%= job.title %></td>
    <td>
        <%= delete_link(job) %>
    </td>
  </tr>
<% end %>

そして、私はそれが動作することを確認しました:D

HTH

于 2012-12-19T05:12:55.850 に答える
1

jQueryを使用してこれを行うことができます。基本的に、含まれている場合はいくつかのデータを追加しますdata-method="delete"

$(document).ready(function() {
    $('a[data-method="delete"]').data('confirm','Are you sure?');
    $('a[data-method="delete"]').attr('data-confirm','Are you sure?');
});

http://jsfiddle.net/vuQU7/

データを個別に追加して属性を設定する必要があることに注意してください。Rails UJS コードに応じて、どちらか (または両方) がチェックされます。したがって、両方を設定すると、確実に機能します。

于 2012-12-19T05:15:29.817 に答える