我在所有发送的电子邮件中都有一个链接,可以将用户引导到一个允许他们编辑电子邮件设置的页面。但是,如果用户在单击链接时没有登录,则会抛出一个错误(因为电子邮件设置是通过与current_user的关联来提取的)。
我想改为显示登录页面,如果用户当前没有登录,登录后,他们会被重定向到电子邮件设置页面。设置此逻辑的好方法是什么?我使用Ruby on Rails和Devise进行身份验证。
发布于 2011-08-31 15:32:43
假设调用了email_settings控制器中的编辑操作,添加devise中的authenticate_user!帮助器作为之前的筛选器。
class EmailSettingsController < ApplicationController
before_filter :authenticate_user!, :only => [:edit, :update]
def edit
//logic to pull current user email settings
end
endDevise将负责将用户重定向到登录页面,并在成功登录后,将用户带回电子邮件设置页面。
发布于 2011-08-31 15:31:54
将未经验证的用户重定向到登录url,这是一个附加参数,用于保存电子邮件更改页面的URL (在电子邮件中发送的URL )
https://stackoverflow.com/questions/7253737
复制相似问题