Ruby on rails 即使数据存在,RubyonRails会话数据也返回false
我有这样一个密码Ruby on rails 即使数据存在,RubyonRails会话数据也返回false,ruby-on-rails,session,Ruby On Rails,Session,我有这样一个密码 session[:my_data]=“abcd” 当我试图得到 将session.has_key?(“my_data”)放入会话,然后始终返回false。Ruby允许任何对象成为散列键。如果哈希键是一个符号,您将无法使用字符串访问它 在这种情况下,您有多种选择: 将字符串转换为符号 session.has_key?(“my_data.to_sym”) 使用Rails的和_interference _access方法允许对散列进行符号和字符串查询 s=session.with\
session[:my_data]=“abcd”
当我试图得到
将session.has_key?(“my_data”)
放入会话,然后始终返回false
。Ruby允许任何对象成为散列键。如果哈希键是一个符号,您将无法使用字符串访问它
在这种情况下,您有多种选择:
- 将字符串转换为符号
session.has_key?(“my_data.to_sym”)
- 使用Rails的和_interference _access方法允许对散列进行符号和字符串查询
s=session.with\u冷漠\u访问 放置s.has_key?(“我的_数据”)
会话。是否有密钥?(:my\u data)
是的,但我正在使用相同的语法获取其他数据然后:会话[“my\u data”]=“abcd”
,保持一致我只想检查密钥是否存在当我尝试此操作时,会话[“my\u data”]的值为零。换句话说,会话的行为不像HashWithInferenceAccess(用于在控制器中存储params
,例如,允许您获取params[:foo]
或params[“foo”]
。当你说是,但我用相同的语法获取其他数据时,你能解释一下你在哪里以及如何这样做吗?