我有一个代码,
session[:my_data] = 'abcd'
当我试图获得时,
puts session.has_key?("my_data")
然后它总是返回false
。
答案 0 :(得分:1)
Ruby允许任何对象成为哈希键。如果散列键是符号,则无法使用字符串访问它。
在这种情况下,您有多种选择:
将字符串转换为符号
session.has_key?("my_data".to_sym)
使用Rails'with_indifferent_access
方法允许对哈希值进行符号和字符串查询
s = session.with_indifferent_access
puts s.has_key?("my_data")