class Jurisprudence::DoctrinesController < ApplicationController load_and_authorize_resource :jurisprudence, class: "Cdao::Jurisprudence" load_and_authorize_resource :doctrine, class: "Doctrine", through: :jurisprudence def create attrs = resource_params.to_unsafe_h.deep_symbolize_keys 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) } end end end def update attrs = resource_params.to_unsafe_h.deep_symbolize_keys subject_ids = attrs.delete(:subject_ids) respond_to do |format| 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) } end end end def destroy respond_to do |format| if @doctrine.destroy format.html { redirect_to subject_indexes_path, notice: "Doctrine was successfully destroyed." } else format.html { redirect_to document_path(@jurisprudence), alert: @doctrine.errors.full_messages } end end end private def resource_params params.permit(:content, subject_ids: []) end end