Как работать со ссылкой в ​​электронном письме, отправленном пользователю, который ведет на страницу с личными данными пользователя - PullRequest
0 голосов
/ 31 августа 2011

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

Вместо этого я хотел бы показать страницу входа, если пользователь в данный момент не вошел в систему, и после входа они будут перенаправлены на страницу настроек электронной почты. Как правильно настроить эту логику? Я использую Ruby on Rails и Devise для аутентификации.

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Предполагая, что действие edit в контроллере email_settings вызвано, добавьте помощник authenticate_user! из devise в качестве фильтра до.

class EmailSettingsController < ApplicationController
    before_filter :authenticate_user!, :only => [:edit, :update] 

    def edit
      //logic to pull current user email settings
    end

end

Devise позаботится о перенаправлении пользователя на страницу входа и при успешномвойдите, верните пользователя на страницу настроек электронной почты.

0 голосов
/ 31 августа 2011

Перенаправить неаутентифицированного пользователя на URL-адрес входа, дополнительный параметр, который будет содержать URL-адрес страницы изменения адреса электронной почты (URL-адрес, отправляемый в сообщении электронной почты)

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