Ruby 使用Memcached Sinatra样式的NoMethodError

Ruby 使用Memcached Sinatra样式的NoMethodError,ruby,memcached,sinatra,heroku,Ruby,Memcached,Sinatra,Heroku,我刚刚在Mac上安装了Memcached,并按照Heroku的说明更新了Sinatra应用程序配置,但在尝试使用他们指定的基于哈希的语法时,我得到了一个NoMethodError: >> CACHE['color'] = 'blue' >> CACHE['color'] 使用下面的显式get和set方法似乎效果不错 >> CACHE.set('color', 'blue') >> CACHE.get('color') 如果有必要,我可以使用后一

我刚刚在Mac上安装了Memcached,并按照Heroku的说明更新了Sinatra应用程序配置,但在尝试使用他们指定的基于哈希的语法时,我得到了一个
NoMethodError

>> CACHE['color'] = 'blue'
>> CACHE['color']
使用下面的显式
get
set
方法似乎效果不错

>> CACHE.set('color', 'blue')
>> CACHE.get('color')
如果有必要,我可以使用后一种语法,但前者似乎更优雅。我还没有在Heroku的环境中测试过这一点,因为我希望我使用的任何实现也能在本地环境中工作。谢谢

您可以这样做:

class << CACHE
  alias [] get
  alias []= set
end

class我本以为这已经在Memcached类中定义了,但一般来说这是一个有用的提示。谢谢