如何保存id和布尔值checkbox_tag Ruby on Rails

时间:2017-05-02 15:41:59

标签: ruby-on-rails ruby checkbox

我目前正在尝试实施一个考勤表,用户勾选用户姓名旁边的复选框;如果检查用户存在,如果未检查用户不在。

我目前让它工作,其中出勤表列出了参加活动的所有用户,但是它只保存了勾选的复选框的出勤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

1 个答案:

答案 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 这个答案(以及此主题中的其他人)可能对您有所帮助。无法评论,所以分享回答。