视图中的嵌套视图 Rails
Nested views in a view Rails
如何在每个活动下显示属于每个活动的出席人数?
Event.rb:
class Event < ActiveRecord::Base
has_many :attendances, dependent: :destroy
Events/index:
%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
看来我必须更改数组和控制器中的某些内容?
因为您已经定义了一个指示 "event has many attendances" 的关联,您可以从事件记录本身访问这些出勤记录。
遵循以下内容就足够了:
%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
本身访问出席情况,您不会得到所有额外的出席记录(您只会获得与当前访问的事件关联的记录)。
如何在每个活动下显示属于每个活动的出席人数?
Event.rb:
class Event < ActiveRecord::Base
has_many :attendances, dependent: :destroy
Events/index:
%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
看来我必须更改数组和控制器中的某些内容?
因为您已经定义了一个指示 "event has many attendances" 的关联,您可以从事件记录本身访问这些出勤记录。
遵循以下内容就足够了:
%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
本身访问出席情况,您不会得到所有额外的出席记录(您只会获得与当前访问的事件关联的记录)。