gpt4 book ai didi

ruby-on-rails - rails session 助手(这不好吗)

转载 作者:行者123 更新时间:2023-12-04 07:37:44 24 4
gpt4 key购买 nike

我正在分配整个用户对象以保留在 session 中...这不好吗? Rails 如何存储 session 数据?我觉得这是个坏主意。我应该只将 user_id 存储在 session 中吗?

module SessionsHelper
def sign_in(user)
session[:user] = user
end

def current_user
session[:user]
end

def sign_out
session[:user] = nil
end
end

编辑(我认为这样更好)

module SessionsHelper
def sign_in(employee)
session[:employee_id] = employee.id
@employee = employee
end

def current_employee
if session[:employee_id]
@employee||=Employee.first(session[:employee])
end
end

def sign_out
session[:employee_id] = nil
@employee = nil
end
end

最佳答案

默认 session 存储是 CookieStore,其大小限制为 4 KB。因此,根据用户对象的大小,这可能是个坏主意。您可能无法将所有信息放入 cookie 中,尤其是考虑到其他内容可能存储在 cookie 中。

此外,我建议在 cookie session 中尽可能少地放置信息,以降低用户请求/响应的大小。 cookie 将随每个新的请求/响应一起发送,至少直到您将它们清零为止,因此它会增加每个请求/响应的整体大小。

关于ruby-on-rails - rails session 助手(这不好吗),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208984/

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