Перенаправление в сохраненное местоположение после подтверждения, разработка

#ruby-on-rails #devise

#ruby-on-rails #разработка

Вопрос:

В моем ConfirmationsController пользователь автоматически входит в систему, а затем перенаправляется на представление, которое в основном просто говорит: «эй, вы успешно зарегистрировались

     def after_confirmation_path_for(resource_name, resource)
    sign_in(resource)
    registration_success_path
end
  

Мне нужна эта промежуточная страница для маркетинговых целей. После того, как эта страница была «visitet», я хочу снова перенаправить, на этот раз по следующему пути

 after_sign_in_path_for
  

который является методом в ApplicationController. Но это перенаправление возвращает nil.

     def after_confirmation_path_for(resource_name, resource)
    sign_in(resource)
    registration_success_path and return
    redirect_to stored_location_for(resource) || super
  end
  

Что не так и как я могу вернуть пользователя в его местоположение после того, как это промежуточное представление было показано при подтверждении???

Комментарии:

1. Строка redirect_to stored_location_for(resource) || super , скорее всего, недоступна из-за registration_success_path and return .

2. Также, если вы хотите автоматически перенаправлять после того, как пользователь некоторое время находился на странице, вам нужно использовать javascript для установки тайм-аута, а затем перенаправить с помощью настройки window.location . Вы не можете отправить два перенаправления обратно, поскольку это всего лишь один заголовок местоположения.