Ruby on rails 如何在复选框中传递所有学生id
我有一个选择特定班级学生的复选框。但是未选择的学生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 >
<%= 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]