目前,我有,当我同时使用返回相同值的会话变量session["test"]或session[:test].这两个是一样的吗?使用一个比另一个更好吗?
谢谢
在标准的Ruby Hash中,它们不一样(字符串与符号)
但是,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
Run Code Online (Sandbox Code Playgroud)
这就是为什么session[:test]并将session["test"]在rails中返回相同的值.
| 归档时间: |
|
| 查看次数: |
1136 次 |
| 最近记录: |