使用Devise管理用户会话/注册时,我需要在每次用户登录时执行特定的任务(例如,为该特定用户更新users表中的一些字段),并且在devise将他重定向到连接用户的主页之前。
我必须重写devise SessionsController吗?如果是,如何重写?
发布于 2012-12-12 18:39:51
或者,您可以创建自己的会话控制器
class SessionsController < Devise::SessionsController
def new
super
end
def create
self.resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
if !session[:return_to].blank?
redirect_to session[:return_to]
session[:return_to] = nil
else
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
end
在routes.rb
中添加:
devise_for :users, controllers: {sessions: "sessions"}
https://stackoverflow.com/questions/13836139
复制相似问题