diff --git a/app/controllers/jurisprudence/doctrines_controller.rb b/app/controllers/jurisprudence/doctrines_controller.rb index dc5de6a..e84d33c 100644 --- a/app/controllers/jurisprudence/doctrines_controller.rb +++ b/app/controllers/jurisprudence/doctrines_controller.rb @@ -3,8 +3,15 @@ class Jurisprudence::DoctrinesController < ApplicationController load_and_authorize_resource :doctrine, class: "Doctrine", through: :jurisprudence def create + attrs = resource_params.to_unsafe_h + subject_ids = attrs.delete(:subject_ids) + + @doctrine = @jurisprudence.doctrines(attrs) + respond_to do |format| if @doctrine.save + @doctrine.subject_ids = subject_ids if subject_ids.present? + format.html { redirect_to document_path(@jurisprudence), notice: "Doctrine was successfully created." } else format.html { redirect_to document_path(@jurisprudence) } @@ -13,8 +20,13 @@ class Jurisprudence::DoctrinesController < ApplicationController end def update + attrs = resource_params.to_unsafe_h + subject_ids = attrs.delete(:subject_ids) + respond_to do |format| - if @doctrine.update(resource_params) + if @doctrine.update(attrs) + @doctrine.subject_ids = subject_ids if subject_ids.present? + format.html { redirect_to document_path(@jurisprudence), notice: "Doctrine was successfully updated." } else format.html { redirect_to document_path(@jurisprudence) }