Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道3。取考勤表:如何创建多条记录?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 轨道3。取考勤表:如何创建多条记录?

Ruby on rails 轨道3。取考勤表:如何创建多条记录?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我知道我很接近,但我被卡住了 这是我正在使用的三个模型:AttendanceSheet、Attendance和Child AttendanceSheet has_many :attendances, :dependent => :destroy accepts_nested_attributes_for :attendances belongs_to :course Child has_many :attendances Attendance belongs_to :attendanc

我知道我很接近,但我被卡住了

这是我正在使用的三个模型:AttendanceSheet、Attendance和Child

AttendanceSheet
has_many :attendances, :dependent => :destroy
accepts_nested_attributes_for :attendances
belongs_to :course

Child
has_many :attendances

Attendance
belongs_to :attendance_sheet
belongs_to :child
因此,加入模型是出席。我正在尝试创建一个考勤表,其中包含特定课程的所有学生的列表,然后使用复选框标记他们是否参加。像这样

Attendance Sheet
Course: Biology
Date: _____________

Michael Scott   [] Notes: sick
Jim Halpert     [] Notes: ____
Dwight Schrute  [] Notes: ____
因此,就诊表有以下列:

child_id
attended (boolean) to check if the student attended course or not
notes
我遇到麻烦的部分是,出现了某种循环来显示属于该类的所有学生,并为每个学生提供出席字段和笔记

这就是我所拥有的

\u form.html.erb

<%= simple_form_for @attendance_sheet, :html => { :class => 'form-horizontal' } do |f| %>

  <h2>Course: <%= @course.name %></h2>

  <div class="form-inputs">
    <%= f.input :attendance_on, :as => :string, :hint => 'YYYY-MM-DD', :input_html => {:class => :datepicker, :value => Date.today} %>
  </div>

      <% @course.children.each do |child| %>
        *** trouble here ***
        <%= check_box_tag %> <%= child.full_name %><br />
      <% end %>

  <div class="form-actions">
    <%= f.button :submit %>
  </div>
<% end %>
def new
  @attendance_sheet = AttendanceSheet.new
  @course = Course.find(params[:course_id])

  respond_to do |format|
    format.html
  end
end

使用rails
接受\u嵌套的\u属性\u:Attentions
,您可以在控制器中执行以下操作:

def new
  @attendance_sheet = AttendanceSheet.new
  @course = Course.find(params[:course_id])
  @course.children.each do |c|
    @attendance_sheet.attendances << Attendance.new(:child => c)
  end

  respond_to do |format|
    format.html
  end
end
<%= f.fields_for :attendances do |att| %>
  <%= att.check_box :child, :label => att.object.child.full_name %>
<% end %>