module ActiveScaffold::Actions::Delete
Public Class Methods
Source
# File lib/active_scaffold/actions/delete.rb, line 3 def self.included(base) base.before_action :delete_authorized_filter, only: [:destroy] end
Public Instance Methods
Source
# File lib/active_scaffold/actions/delete.rb, line 7 def destroy params.delete :destroy_action process_action_link_action(:destroy) do |record| do_destroy(record) end end
Protected Instance Methods
Source
# File lib/active_scaffold/actions/delete.rb, line 59 def delete_ignore?(record = nil) (nested? && nested.readonly?) || !authorized_for?(crud_type: :delete) end
Source
# File lib/active_scaffold/actions/delete.rb, line 34 def destroy_find_record @record = find_if_allowed(params[:id], :delete) end
Source
# File lib/active_scaffold/actions/delete.rb, line 16 def destroy_respond_to_html flash[:info] = as_(:deleted_model, model: ERB::Util.h(@record.to_label)) if successful? return_to_main end
Source
# File lib/active_scaffold/actions/delete.rb, line 21 def destroy_respond_to_js do_refresh_list if successful? && active_scaffold_config.delete.refresh_list && !render_parent? render(action: 'destroy') end
Source
# File lib/active_scaffold/actions/delete.rb, line 30 def destroy_respond_to_json render json: successful? ? '' : response_object, only: active_scaffold_config.list.columns.visible_columns_names, status: response_status end
Source
# File lib/active_scaffold/actions/delete.rb, line 26 def destroy_respond_to_xml render xml: successful? ? '' : response_object, only: active_scaffold_config.list.columns.visible_columns_names, status: response_status end
Source
# File lib/active_scaffold/actions/delete.rb, line 40 def do_destroy(record) record ||= destroy_find_record begin self.successful = record.destroy rescue StandardError => e flash[:warning] = as_(:cant_destroy_record, record: ERB::Util.h(record.to_label)) self.successful = false logger.warn do "\n\n#{e.class} (#{e.message}):\n #{Rails.backtrace_cleaner.clean(e.backtrace).join("\n ")}\n\n" end end end
A simple method to handle the actual destroying of a record May be overridden to customize the behavior
Private Instance Methods
Source
# File lib/active_scaffold/actions/delete.rb, line 70 def destroy_formats (default_formats + active_scaffold_config.formats + active_scaffold_config.delete.formats).uniq end