我在所有已发送的电子邮件中都有一个链接,该链接会将用户引导至允许他们编辑其电子邮件设置的页面。但是,如果用户在单击链接时未登录,则会引发错误(因为电子邮件设置是通过与current_user
的关联完成的。)
如果用户当前未登录,我想改为显示登录页面,登录后,他们会被重定向到电子邮件设置页面。设置这个逻辑的好方法是什么?我正在使用Ruby on Rails和Devise进行身份验证。
答案 0 :(得分:0)
将未经身份验证的用户重定向到登录网址,这是一个附加参数,用于保存电子邮件更改页面的网址(电子邮件中发送的网址)
答案 1 :(得分:0)
假设调用了email_settings控制器中的编辑操作,请将设计中的authenticate_user!
帮助器添加为之前的过滤器。
class EmailSettingsController < ApplicationController
before_filter :authenticate_user!, :only => [:edit, :update]
def edit
//logic to pull current user email settings
end
end
Devise将负责将用户重定向到登录页面,并在成功登录后,将用户带回电子邮件设置页面。