gpt4 book ai didi

ruby-on-rails - 简单的 Rails session 问题

转载 作者:行者123 更新时间:2023-12-03 17:33:58 27 4
gpt4 key购买 nike

按照在线教程,我有一个 session Controller ,如下所示:

class SessionsController < ApplicationController
def new
end

def create
user = User.authenticate(params[:email], params[:password])
if user
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password"
render "new"
end
end

def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged out!"
end

end

虽然登录确实有效,但没有模型和数据库表来支持这一点。我有什么办法可以列出已登录的用户,或者那是不可能的吗?如果 session 没有存储在某个地方,服务器如何保持 session ?

最佳答案

这个怎么样:

更新一个名为 last seen 的字段

class ApplicationController
before_filter :update_last_seen
private
def update_last_seen
current_user.last_seen = DateTime.now
current_user.save
end
end

然后查找最近 X 分钟内最后一次看到的所有用户

@online_users = User.find :all, 
:conditions => ["last_seen > ?",5.minutes.ago.to_s(:db)]

关于ruby-on-rails - 简单的 Rails session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6680458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com