You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

52 lines
1.6 KiB

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.new(attrs)
respond_to do |format|
if @doctrine.save
@doctrine.subject_ids = subject_ids if subject_ids.present?
format.html { redirect_to document_doctrine_path(@jurisprudence, @doctrine), notice: "Doctrine was successfully created." }
else
format.html { redirect_to document_doctrine_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_doctrine_path(@jurisprudence, @doctrine), notice: "Doctrine was successfully updated." }
else
format.html { redirect_to document_doctrine_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