如何在每个活动中显示属于每个活动的出席情况?
Event.rb:
class Event < ActiveRecord::Base
has_many :attendances, dependent: :destroy
活动/索引:
%h1 Listing events
%table
%thead
%tr
%th Starts at
%th Duration
%tbody
- @events.each do |event|
%tr
%td= event.starts_at
%td= event.duration
%br
我尝试了这段代码,但它完全呈现了每个事件下的所有出席情况:
%table
%thead
%tr
%th Starts at
%th Duration
%tbody
- @events.each do |event|
%tr
%td= event.starts_at
%td= event.duration
- @attendances.each do |attendance|
%tr
%td= attendance.guest
%td= attendance.attendance_rate
%td= attendance.event
%br
看起来我必须改变数组中的某些内容。在控制器?
答案 0 :(得分:1)
因为您已经定义了一个指示“事件有很多出席”的关联,您可以从事件记录本身访问这些出勤记录。
以下内容应该足够了:
%tbody
- @events.each do |event|
%tr
%td= event.starts_at
%td= event.duration
- event.attendances.each do |attendance|
%tr
%td= attendance.guest
%td= attendance.attendance_rate
%td= attendance.event
通过event
本身访问出席情况,您不会得到所有额外的出勤记录(您只能获得与当前访问的事件相关的记录)。