Module: Effective::WizardController::Save

Included in:
Effective::WizardController
Defined in:
app/controllers/concerns/effective/wizard_controller/save.rb

Instance Method Summary collapse

Instance Method Details

#save_wizard_resource(resource, action = nil, options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/concerns/effective/wizard_controller/save.rb', line 5

def save_wizard_resource(resource, action = nil, options = {})
  was_new_record = resource.new_record?
  action ||= resource.respond_to?("#{step}!") ? step : :save

  if save_resource(resource, action)
    flash[:success] ||= options.delete(:success) || resource_flash(:success, resource, action)

    @skip_to ||= skip_to_step(resource)
    @redirect_to ||= resource_wizard_path(resource, @skip_to) if was_new_record

    redirect_to(@redirect_to || wizard_path(@skip_to))
  else
    flash.now[:danger] = options.delete(:error) || resource_flash(:danger, resource, action)
    render_step(wizard_value(step), options)
  end
end