diff --git a/app/controllers/exercise_collections_controller.rb b/app/controllers/exercise_collections_controller.rb index 1d7c1782..cfb93a71 100644 --- a/app/controllers/exercise_collections_controller.rb +++ b/app/controllers/exercise_collections_controller.rb @@ -17,9 +17,10 @@ class ExerciseCollectionsController < ApplicationController end def create - @exercise_collection = ExerciseCollection.new(exercise_collection_params) + @exercise_collection = ExerciseCollection.new authorize! - create_and_respond(object: @exercise_collection) + @exercise_collection.save + update_and_respond(object: @exercise_collection, params: exercise_collection_params) end def destroy @@ -31,6 +32,7 @@ class ExerciseCollectionsController < ApplicationController end def update + authorize! update_and_respond(object: @exercise_collection, params: exercise_collection_params) end diff --git a/app/models/exercise.rb b/app/models/exercise.rb index b2b27af4..e36aa017 100644 --- a/app/models/exercise.rb +++ b/app/models/exercise.rb @@ -15,7 +15,7 @@ class Exercise < ActiveRecord::Base has_and_belongs_to_many :proxy_exercises has_many :user_proxy_exercise_exercises has_many :exercise_collection_items - has_many :exercise_collections, through: :exercise_collection_items + has_many :exercise_collections, through: :exercise_collection_items, inverse_of: :exercises has_many :user_exercise_interventions has_many :interventions, through: :user_exercise_interventions has_many :exercise_tags diff --git a/app/models/exercise_collection.rb b/app/models/exercise_collection.rb index a4a19f94..e8b1e22b 100644 --- a/app/models/exercise_collection.rb +++ b/app/models/exercise_collection.rb @@ -3,7 +3,7 @@ class ExerciseCollection < ActiveRecord::Base has_many :exercise_collection_items alias_method :items, :exercise_collection_items - has_many :exercises, through: :exercise_collection_items + has_many :exercises, through: :exercise_collection_items, inverse_of: :exercise_collections belongs_to :user, polymorphic: true def collection_statistics