Improve performance of admin/conference/*/registrations

* Add some caching
* Reduce query count, including N+1s on questions & roles
This commit is contained in:
James Mason 2018-04-06 10:21:22 -07:00
parent 6987c34e12
commit 66ea7c077d
No known key found for this signature in database
GPG key ID: 1B3951886C449023
5 changed files with 66 additions and 65 deletions

View file

@ -8,13 +8,17 @@ module Admin
def index
authorize! :show, Registration.new(conference_id: @conference.id)
@pdf_filename = "#{@conference.title}.pdf"
@registrations = @conference.registrations.includes(:user).order('registrations.created_at ASC')
@attended = @conference.registrations.where('attended = ?', true).count
@registrations = @conference.registrations.eager_load(
:qanswers, user: :roles
).order('registrations.created_at ASC').to_a
@attended = @registrations.count(&:attended)
@questions = @conference.questions.to_a
@registration_distribution = @conference.registration_distribution
@affiliation_distribution = @conference.affiliation_distribution
@code_of_conduct = @conference.code_of_conduct.present?
@pdf_filename = "#{@conference.title}.pdf"
end
def edit; end