我目前正在尝试实施一个考勤表,用户勾选用户姓名旁边的复选框;如果检查用户存在,如果未检查用户不在。
我目前让它工作,其中出勤表列出了参加活动的所有用户,但是它只保存了勾选的复选框的出勤ID和用户ID。
我希望考勤表保存所有用户ID并为每个用户ID分配一个布尔值。
我目前的观点:
<%= simple_form_for @attendance, :html=> { :multipart=> true } do |f| %>
<div class="checkBoxes">
<div>
<%= f.hidden_field :event_id, :value => @event.id %>
</div>
<div >
<% @event.users.each do |user| %>
<%= check_box_tag "attendance[user_ids][]",user.id,attendance.users.include?(user) %>
<%= user.name %><br>
<% end %>
</div>
</div>
<div class="actions">
<%= f.button :submit, 'Save', class: "btn btn-primary" %>
</div>
<% end %>
表单将所选事件ID和日期保存在考勤表中,然后在attendance_users表下构建attendance_id和user_id。
考勤用户的数据库迁移:
class CreateAttendanceUsers < ActiveRecord::Migration
def change
create_table :attendance_users do |t|
t.integer :attendance_id, :null => false
t.integer :user_id, :null =>false
t.boolean :is_absent
t.timestamps
end
end
end
它目前只保存所选复选框的attendance_id和user_id。我怎么能:
1.)保存所有已检查和未检查的用户?
2.)为每个用户分配一个布尔值(如果选中is_absent为false,如果未选中is_absent为true
答案 0 :(得分:0)
How can I make a check_box_tag to post a 'false' or '0' parameter when unchecked?可能重复。
https://stackoverflow.com/a/10280810/5663022 这个答案(以及此主题中的其他人)可能对您有所帮助。无法评论,所以分享回答。