Rails 如何检查当前会话的大小 (cookies)

Rails how to check size of current session (cookies)

我很乐意将东西扔到会话中而不是直接保存到数据库中(就像在多步表单中一样)并且认为那些 4kb 绰绰有余。自从我使用 Devise 以来,我认为它使用了一些会话存储,但在我尝试 p session 之前感觉很安全哦!我的终端无法打印其中的所有数据。该数据很难理解 - 我将一些项目传递给它,还有一些本地路线和其他奇怪的东西。

所以我想知道如何在某些阶段检查它的大小?我发现类似 但随后我得到 @encryptor 作为未定义/零..

也尝试过:

@encryptor = ActiveSupport::MessageEncryptor.new(secret, cipher: encrypted_cookie_cipher, serializer: SERIALIZER)

data = session.to_hash.delete_if { |k,v| v.nil? }
data = @encryptor.encrypt_and_sign(serialize(name, data))
p data.bytesize

但是 secret 未定义:

undefined local variable or method `secret'

我也试图找到一种方法来显示 rails 的 cookie 大小,但没有成功。 但另一种检查当前会话 cookie 大小的方法是浏览器中的 developer tool

在那里您可以看到所有 cookie 的一些信息及其大小。 这可能不是最好的方法,但总比没有好。