Module: ActiveScaffold::Actions::Nested::ChildMethods

Defined in:
lib/active_scaffold/actions/nested.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.include_habtm_actions(config) ⇒ Object



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/active_scaffold/actions/nested.rb', line 131

def self.include_habtm_actions(config)
  # Production mode is ok with adding a link everytime the scaffold is nested - we are not ok with that.
  unless config.action_links['new_existing']
    config.action_links.add('new_existing', label: :add_existing, type: :collection,
                                            security_method: :add_existing_authorized?,
                                            ignore_method: :add_existing_ignore?)
  end
  return unless config.nested.shallow_delete

  unless config.action_links['destroy_existing']
    config.action_links.add('destroy_existing', label: :remove, type: :member, confirm: :are_you_sure_to_delete,
                                                method: :delete, position: false,
                                                security_method: :delete_existing_authorized?,
                                                ignore_method: :delete_existing_ignore?)
  end
  config.action_links['destroy']&.ignore_method = :habtm_delete_ignore? if config.actions.include?(:delete)
end

.included(base) ⇒ Object



126
127
128
129
# File 'lib/active_scaffold/actions/nested.rb', line 126

def self.included(base)
  super
  include_habtm_actions base.active_scaffold_config unless base.active_scaffold_config.frozen?
end

Instance Method Details

#add_existingObject



154
155
156
157
# File 'lib/active_scaffold/actions/nested.rb', line 154

def add_existing
  do_add_existing
  respond_to_action(:add_existing)
end

#destroy_existingObject



159
160
161
162
163
164
# File 'lib/active_scaffold/actions/nested.rb', line 159

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_existingObject



149
150
151
152
# File 'lib/active_scaffold/actions/nested.rb', line 149

def new_existing
  do_new
  respond_to_action(:new_existing)
end