ruby-on-rails - 在登录时设计一个 session 变量

标签 ruby-on-rails ruby-on-rails-3 devise

我想在用户基于User表中的某个字段登录后设置 session 变量。如果不需要,我不需要创建自定义Devise Controller 。有办法吗?还是我必须走定制 Controller 路线?

最佳答案

有一个回调after_sign_in_path_for,您可以将其添加到ApplicationController

protected

def after_sign_in_path_for(resource)
  session[:domain_prefix] = current_user.domain_prefix
  user_path(resource)
end

不要忘记在方法的最后一行返回路径,否则回调会将请求重定向到session[:domain_prefix]的内容

关于ruby-on-rails - 在登录时设计一个 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422910/

相关文章:

ruby-on-rails - 救援重定向 :back after destroy in Rails?

ruby-on-rails - Redis在/tmp中创建dump.rdb

ruby-on-rails - 如何设置mongoid的时区

ruby-on-rails - Rails API 应用程序中 ActionCable 的 Websocket 客户端

ruby-on-rails - Rails & Memcached : Optimizing multiple fetches

ruby-on-rails - #<ActiveRecord::Relation:0xaadc8d4> 的未定义方法 `page'

mysql - 使用 Rails 应用程序中存在于多个数据库中的表

ruby-on-rails - Rails/Device——忘记密码功能出错

ruby-on-rails - 设计、滚动和 Cancan 到 ActiveAdmin

ruby-on-rails - current_user 和 active_admin