steps.rb 644 B

123456789101112131415161718192021
  1. class CustomWizard::StepsController < ApplicationController
  2. before_action :ensure_logged_in
  3. def update
  4. wizard = CustomWizard::Builder.new(current_user, params[:wizard_id]).build
  5. updater = wizard.create_updater(params[:step_id], params[:fields])
  6. updater.update
  7. if updater.success?
  8. result = { success: 'OK' }
  9. result[:refresh_required] = true if updater.refresh_required?
  10. render json: result
  11. else
  12. errors = []
  13. updater.errors.messages.each do |field, msg|
  14. errors << { field: field, description: msg.join }
  15. end
  16. render json: { errors: errors }, status: 422
  17. end
  18. end
  19. end