如何解决NoMethodError-未定义的方法“键?”对于#<ActionDispatch :: Request :: Session :: Options:0x00007fe03ee04608>:
使用rails s
启动服务器时,出现以下错误。
解决方法
在您的情况下,options
是ActionDispatch::Request::Session::Options
对象,而不是Hash
。您可以调用.to_hash
将其转换为Hash
。
您可以仅使用slice
提取相关的键/值来代替当前的方法:
REDIS_SET_OPTIONS = %i(ex px nx xx keepttl).freeze
def set (key,value,options = nil)
return super(key,value) unless options
super(key,options.to_hash.slice(*REDIS_SET_OPTIONS))
end
,
.key?按照约定将返回一个布尔值。因此,您的块是无操作的,因为结果不会做任何事情。你想做什么?
,虽然这个问题真的很晚,但我目前遇到了这个问题。在我的情况下,由于依赖于 redis-rails 的 redis-store 引发了异常。所以当我修复 redis-rails 的版本时,异常消失了。如果您还在为这个问题苦苦挣扎,希望能帮到您。
gem 'redis-rails','~> 4.0.0'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。