rails 3 + devise: on after_inactive_sign_up_path_for () как показать адрес электронной почты еще не подтвержденного пользователя? - PullRequest
3 голосов
/ 29 мая 2011

Чтобы создать страницу для пострегистрации, я добавил элемент RegistrationsController и метод для предоставления настраиваемой страницы, с помощью которой пользователь может проверить свою электронную почту для ссылки для подтверждения учетной записи.

  def after_inactive_sign_up_path_for(resource)
    "/awaiting_confirmation"
  end

Есть лиспособ на этой странице (который виден пользователю, который создал учетную запись, но не подтвердил ее и еще не вошел в систему), чтобы показать адрес электронной почты, который он использовал для создания учетной записи.

Я хотел быстраница с надписью «мы только что отправили вам ссылку для подтверждения по адресу useremail@userdomain.com»

Но представление для этой страницы не может отображать current_user.email, потому что current_user - ноль, потому что они не выполнили вход.

Существует ли какая-либо другая переменная devise или переменная сеанса, которая будет содержать только что созданную регистрационную информацию?

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

вот как мы решили это ... это было легко.

изменил метод однострочного контроллера в моем настраиваемом контроллере регистрации (показан в моем вопросе) на:

"/awaiting_confirmation?email=#{resource.email}"

тогда в методе получения для маршрута / awaiting_confirmation я просто делаю

@email = params[:email]

и отобразить переменную @email в моем представлении.

1 голос
/ 29 мая 2011

Вы можете сделать это двумя способами, во-первых, для отображения флеш-сообщения пользователю после того, как электронное письмо успешно отправлено. У вас все еще есть доступ к электронной почте пользователя в переменной там, например:

:notice => "Email was sent to #{userobject.email}"

Или вы можете передать этот объект на страницу, на которую вы отправляете пользователя после регистрации, и использовать его там.

Другим способом решения этой проблемы может быть аутентификация пользователя с помощью токена, после чего пользователь будет эффективно авторизован, а затем вы сможете использовать current_user. Для этого вы захотите изучить аутентификацию токена одноразового использования и разработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...