最近将一个 rails5 的项目升级到 rails6,碰到一个登录不了的问题,排查后发现保存不了数据到 session 里,导致登录状态无法保存。请求指导,感谢!
部分代码如下:
# 用户名及密码验证成功后,将admin id写入到session
def sign_in(admin)
session[:admin_id] = admin.id # 这里向session中写入数据
admin.update(last_login_ip: request.remote_ip, last_login_at: Time.now)
# 。。。
end
# 获取当前用户
def current_admin
if (admin_id = session[:admin_id]) # 这里读取session中的数据。rails 6时取出来为空,rails 5没有这个问题
# 。。。
end
end
# session_store.rb里面的配置
Rails.application.config.session_store :cookie_store, key: '_mytest_session', expire_after: 7.days