app/controllers/tramway/auth/web/sign_ups_controller.rb in tramway-auth-1.2 vs app/controllers/tramway/auth/web/sign_ups_controller.rb in tramway-auth-1.2.1
- old
+ new
@@ -2,12 +2,24 @@
before_action :check_authenticable_models
def create
@form = "#{model_class}SignUpForm".constantize.new model_class.new
if @form.submit params[:record]
- redirect_to Rails.application.routes.url_helpers.root_path flash: :success
+ additional_params = { flash: :success }
+ url = if params[:redirect].present?
+ [ params[:redirect], '?', additional_params.to_query].join
+ else
+ Rails.application.routes.url_helpers.root_path(flash: :success)
+ end
+ redirect_to url
else
- redirect_to Rails.application.routes.url_helpers.root_path flash: :error, errors: @form.errors.messages, record: @form.attributes
+ additional_params = { flash: :error, errors: @form.errors.messages, record: @form.attributes }
+ url = if params[:redirect].present?
+ [ params[:redirect], '?', additional_params.to_query].join
+ else
+ Rails.application.routes.url_helpers.root_path(**additional_params)
+ end
+ redirect_to url
end
end
private