gpt4 book ai didi

ruby-on-rails - Rails 4 session.id 偶尔为零

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:22 26 4
gpt4 key购买 nike

我在 Heroku 上运行一个简单的网站,我注意到在运行该应用程序时发生了一些奇怪的事情。似乎大约 50-60% 的用户在登录我的数据库时报告了一个 nil session_id。

我使用 active_record_store 作为我的 session 处理程序,使用 Postgres 作为我的数据库服务器。我使用 cookie_store 得到了类似的结果,所以我不确定我做错了什么。我唯一的猜测是用户发出的第一个请求,id 可能尚未填充。 session 表具有正确的条目数,但我的跟踪表没有。

示例代码

class CaptionController < ApplicationController

def index

@image = Image.order("RANDOM()").first
Tracking.log(session.id, Tracking::VIEW_CAPTION_ON_IMAGE, @image.id)

end

上面的代码导致 50% 的时间, session 在它记录到的表中为零。

最佳答案

我找到了答案,看起来 Rails 试图通过仅在有内容要存储时才创建 session 来提高效率。因此,访问 session.id 而不存储任何内容不会返回一致的结果。

您需要通过在其中存储一些内容来强制创建 session 。

TLDR:在访问 session ID 之前将其添加到某处。

session[:foo] = "bar"

来源:http://www.gani.com.au/2013/08/force-session-creation-in-rails/

关于ruby-on-rails - Rails 4 session.id 偶尔为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30772737/

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