如何使用 check_box_tag 和 link_to 删除多条记录 - Rails4
How to delete multiple records using check_box_tag and link_to - Rails4
在我的路线中我有
delete 'boshu_hombu/delete_data', :as => :delete_data
在我的控制器中,删除方法
def delete_data
if params[:boshus]
BoshuHombu.where(id: params[:boshus]).destroy_all
end
redirect_to edit_all_path
end
在我看来,我正在使用复选框选择要删除的多条记录,我有一个按钮可以调用删除操作
<%= link_to '削除', { action: :delete_data}, method: :delete,
data: { confirm: 'Are you sure?' }, :class => 'btn btn-danger' %>
<% @get_boshu_data.each do |user| %>
<tr>
<td><%= check_box_tag "boshus[]", user.id %></td>
<td><%= user.id %></td>
<td><%= user.kyujin_site %></td>
<tr/>
<% end %>
但是如何在我的控制器的 delete_data
操作中获取选定的值。怎么办?谢谢
试试这个:
<%= link_to '削除', { action: :delete_data}, method: :delete,
data: { confirm: 'Are you sure?' }, :class => 'btn btn-danger', id:'delete' %>
<% @get_boshu_data.each do |user| %>
<tr>
<td><%= check_box_tag "boshus[]", user.id, false, class: 'check' %></td>
<td><%= user.id %></td>
<td><%= user.kyujin_site %></td>
<tr/>
<% end %>
<script>
$(document).ready(function(){
var href = $('#delete').attr('href')
$('#delete').on('click',function(){
var newHref = href + '?'
$('.check').each(function(){
if ($(this).prop('checked') == true) newHref+='boshus%5B%5D='+$(this).val()+'&'
});
$('#delete').attr('href',newHref)
});
});
</script>
在我的路线中我有
delete 'boshu_hombu/delete_data', :as => :delete_data
在我的控制器中,删除方法
def delete_data
if params[:boshus]
BoshuHombu.where(id: params[:boshus]).destroy_all
end
redirect_to edit_all_path
end
在我看来,我正在使用复选框选择要删除的多条记录,我有一个按钮可以调用删除操作
<%= link_to '削除', { action: :delete_data}, method: :delete,
data: { confirm: 'Are you sure?' }, :class => 'btn btn-danger' %>
<% @get_boshu_data.each do |user| %>
<tr>
<td><%= check_box_tag "boshus[]", user.id %></td>
<td><%= user.id %></td>
<td><%= user.kyujin_site %></td>
<tr/>
<% end %>
但是如何在我的控制器的 delete_data
操作中获取选定的值。怎么办?谢谢
试试这个:
<%= link_to '削除', { action: :delete_data}, method: :delete,
data: { confirm: 'Are you sure?' }, :class => 'btn btn-danger', id:'delete' %>
<% @get_boshu_data.each do |user| %>
<tr>
<td><%= check_box_tag "boshus[]", user.id, false, class: 'check' %></td>
<td><%= user.id %></td>
<td><%= user.kyujin_site %></td>
<tr/>
<% end %>
<script>
$(document).ready(function(){
var href = $('#delete').attr('href')
$('#delete').on('click',function(){
var newHref = href + '?'
$('.check').each(function(){
if ($(this).prop('checked') == true) newHref+='boshus%5B%5D='+$(this).val()+'&'
});
$('#delete').attr('href',newHref)
});
});
</script>