Ruby on rails 如何在复选框中传递所有学生id

Ruby on rails 如何在复选框中传递所有学生id,ruby-on-rails,Ruby On Rails,我有一个选择特定班级学生的复选框。但是未选择的学生id没有通过复选框。请帮助我。我还包括下面的编码 鉴于 <%= label_tag :students %> <button type="button" id="check_all"> Check / Uncheck All </button> <table id = "mark"> <tr> <td> <table >

我有一个选择特定班级学生的复选框。但是未选择的学生id没有通过复选框。请帮助我。我还包括下面的编码

鉴于

<%= label_tag :students %>
  <button type="button" id="check_all">
    Check / Uncheck All
</button>

<table id = "mark"> 
    <tr>
        <td>
<table >
    <thead>
        <tr>
            <td><strong>Students List</strong></td>
        </tr>
    </thead>
    <tbody>
        <% @student.each do |i| %>  
            <tr>
                <td><%= check_box_tag :student, i.id %><%= i.first_name.capitalize %></td>
            </tr>
            <% end %>
    </tbody>
    </table>        
    <table>
        <tr>
            <td>

</tr>
</td>
</table>
</td>
</tr>
</table>

至少可以通过两种方式实现这一点

一)从学生集合ID中扣除提交的学生:

unselected_ids = @student.collect(&:id) - params[:student].collect(&:to_i)

二)使用javascript从客户端站点设置另一个隐藏字段,您可以在复选框和零值之前使用相同的
名称的隐藏输入

<input type='hidden' value='0' name='student'>
<input type='checkbox' value='1' name='student'>  
在控制器中,让学生进行检查,如:

student_unchecked = params[:student_all] - params[:student]

您想在提交表单时将未选中的学生ID发送给管理员吗?或者想知道如何选择/取消选择一个班级的学生,而不是所有学校的学生?或者你的JS代码工作错误?(这是真的)我想把未选中的学生id发送给管理员。当我提交表格时
<% @student.each do |s| %>  
    <tr><td>
        <%= hidden_field_tag "student_all[]", s.id %>
        <%= check_box_tag "student[]", s.id %><%= s.first_name.capitalize %>
    </td></tr>
<% end %>  
student_unchecked = params[:student_all] - params[:student]