module ActiveScaffold::Actions::Nested::ChildMethods
Public Class Methods
included(base)
click to toggle source
Calls superclass method
# File lib/active_scaffold/actions/nested.rb, line 155 def self.included(base) super end
Public Instance Methods
add_existing()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 164 def add_existing do_add_existing respond_to_action(:add_existing) end
destroy_existing()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 169 def destroy_existing return redirect_to(params.merge(:action => :delete, :only_path => true)) if request.get? || request.head? do_destroy_existing respond_to_action(:destroy_existing) end
new_existing()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 159 def new_existing do_new respond_to_action(:new_existing) end
Protected Instance Methods
add_existing_respond_to_html()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 189 def add_existing_respond_to_html if successful? flash[:info] = as_(:created_model, :model => ERB::Util.h(@record.to_label)) return_to_main else render(:action => 'add_existing_form') end end
add_existing_respond_to_js()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 198 def add_existing_respond_to_js if successful? render :action => 'add_existing' else render :action => 'form_messages' end end
add_existing_respond_to_json()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 210 def add_existing_respond_to_json render :json => response_object, :only => active_scaffold_config.list.columns.visible_columns_names, :status => response_status end
add_existing_respond_to_xml()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 206 def add_existing_respond_to_xml render :xml => response_object, :only => active_scaffold_config.list.columns.visible_columns_names, :status => response_status end
after_create_save(record)
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 239 def after_create_save(record) return unless params[:association_macro] == :has_and_belongs_to_many params[:associated_id] = record do_add_existing end
destroy_existing_respond_to_html()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 214 def destroy_existing_respond_to_html flash[:info] = as_(:deleted_model, :model => ERB::Util.h(@record.to_label)) return_to_main end
destroy_existing_respond_to_js()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 219 def destroy_existing_respond_to_js render(:action => 'destroy') end
destroy_existing_respond_to_json()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 227 def destroy_existing_respond_to_json render :json => successful? ? '' : response_object, :only => active_scaffold_config.list.columns.visible_columns_names, :status => response_status end
destroy_existing_respond_to_xml()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 223 def destroy_existing_respond_to_xml render :xml => successful? ? '' : response_object, :only => active_scaffold_config.list.columns.visible_columns_names, :status => response_status end
do_add_existing()
click to toggle source
The actual “add_existing” algorithm
# File lib/active_scaffold/actions/nested.rb, line 246 def do_add_existing parent_record = nested_parent_record(:update) @record = active_scaffold_config.model.find(params[:associated_id]) if parent_record && @record self.successful = false unless parent_record.send(nested.association.name) << @record parent_record.save if successful? else false end end
do_destroy_existing()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 257 def do_destroy_existing if active_scaffold_config.nested.shallow_delete @record = nested_parent_record(:update) collection = @record.send(nested.association.name) assoc_record = collection.find(params[:id]) collection.delete(assoc_record) else do_destroy end end
new_existing_respond_to_html()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 177 def new_existing_respond_to_html if successful? render(:action => 'add_existing_form') else return_to_main end end
new_existing_respond_to_js()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 185 def new_existing_respond_to_js render(:partial => 'add_existing_form') end
Private Instance Methods
add_existing_formats()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 274 def add_existing_formats (default_formats + active_scaffold_config.formats).uniq end
destroy_existing_formats()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 278 def destroy_existing_formats (default_formats + active_scaffold_config.formats).uniq end
new_existing_formats()
click to toggle source
# File lib/active_scaffold/actions/nested.rb, line 270 def new_existing_formats (default_formats + active_scaffold_config.formats).uniq end