class CmAdmin::Model

def custom_controller_action(action_name, params)

def custom_controller_action(action_name, params)
  current_action = CmAdmin::Models::Action.find_by(self, name: action_name.to_s)
  if current_action
    @current_action = current_action
    @ar_object = @ar_model.name.classify.constantize.find(params[:id])
    if @current_action.child_records
      child_records = @ar_object.send(@current_action.child_records)
      @associated_model = CmAdmin::Model.find_by(name: @ar_model.reflect_on_association(@current_action.child_records).klass.name)
      if child_records.is_a? ActiveRecord::Relation
        @associated_ar_object = filter_by(params, child_records)
      else
        @associated_ar_object = child_records
      end
      return @ar_object, @associated_model, @associated_ar_object
    end
    return @ar_object
  end
end