我的应用中的每个link_to :method => :delete
都包含:data => {:confirm => "Are you sure?"}
本着DRY的精神,是否可以设置此确认消息,使其自动显示?
答案 0 :(得分:2)
最简单的方法是使用辅助方法
== application helper
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
答案 1 :(得分: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?');
});
请注意,您必须单独添加数据并设置属性 - 根据Rails UJS代码,它将检查一个或另一个(或两者)。所以设置两者都将确保它有效。