gpt4 book ai didi

ruby-on-rails - 我应该在Ruby on Rails中使用引号或冒号作为 session key 吗?

转载 作者:行者123 更新时间:2023-12-04 18:12:39 25 4
gpt4 key购买 nike

当前,我有一个 session 变量,当我同时使用session["test"]session[:test]时返回相同的值。这两个都一样吗?更好地使用一个?

谢谢

最佳答案

在标准的Ruby Hash中,它们是不同的(string vs symbol)

但是,rails SessionHash 子类在存储键之前会在键上调用to_s,因此所有键都存储为字符串(即使您指定了符号):

class SessionHash < Hash

def [](key)
load_for_read!
super(key.to_s)
end

def []=(key, value)
load_for_write!
super(key.to_s, value)
end

这就是 session[:test]session["test"]在rails中返回相同值的原因。

关于ruby-on-rails - 我应该在Ruby on Rails中使用引号或冒号作为 session key 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10307412/

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