Ruby on rails 轨道3。取考勤表:如何创建多条记录?
我知道我很接近,但我被卡住了 这是我正在使用的三个模型:AttendanceSheet、Attendance和ChildRuby 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
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 %>