From 089bf578d3c4b3847f89478ec5ba25b96ae9c1e9 Mon Sep 17 00:00:00 2001 From: Maximilian Grundke Date: Tue, 3 Jul 2018 15:32:37 +0200 Subject: [PATCH] Sort exercise collection items by position --- app/models/exercise_collection.rb | 1 + app/views/exercise_collections/show.html.slim | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/exercise_collection.rb b/app/models/exercise_collection.rb index fa00e521..0836b404 100644 --- a/app/models/exercise_collection.rb +++ b/app/models/exercise_collection.rb @@ -2,6 +2,7 @@ class ExerciseCollection < ActiveRecord::Base include TimeHelper has_many :exercise_collection_items + alias_method :items, :exercise_collection_items has_many :exercises, through: :exercise_collection_items belongs_to :user, polymorphic: true diff --git a/app/views/exercise_collections/show.html.slim b/app/views/exercise_collections/show.html.slim index ab85a3ba..b2b04cb5 100644 --- a/app/views/exercise_collections/show.html.slim +++ b/app/views/exercise_collections/show.html.slim @@ -12,13 +12,16 @@ h4 = t('activerecord.attributes.exercise_collections.exercises') table.table thead tr + th = '#' th = t('activerecord.attributes.exercise.title') th = t('activerecord.attributes.exercise.execution_environment') th = t('activerecord.attributes.exercise.user') th = t('shared.actions') tbody - - @exercises.sort_by{|c| c.title}.each do |exercise| + - @exercise_collection.items.sort_by{|item| item.position}.each do |exercise_collection_item| + - exercise = exercise_collection_item.exercise tr + td = exercise_collection_item.position td = link_to(exercise.title, exercise) td = link_to_if(exercise.execution_environment && policy(exercise.execution_environment).show?, exercise.execution_environment, exercise.execution_environment) td = exercise.user.name