【发布时间】:2015-10-30 03:42:25
【问题描述】:
我想在我的 Sinatra 应用中使用 Redis。虽然我可以在本地和远程(heroku)的控制台中访问 Redis 实例,但当我想在 rake 任务中使用它时,会触发错误,我似乎不明白为什么会这样。
app.rb:
class MyApp < Sinatra::Base
configure do
uri = URI.parse(ENV["REDISCLOUD_URL"])
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
end
end
config.ru:
require 'rubygems'
require 'sinatra'
require './app'
run MyApp
宝石文件
gem 'redis'
Rakefile.rb
desc 'Try Redis'
task :try_redis do
puts $redis.set("try", 0)
end
rake 中止! NoMethodError: nil:NilClass 的未定义方法“set”
我不太习惯 Sinatra,我觉得没有什么特别不对劲的地方。我不明白为什么我的全局变量 $redis 无法从我的应用程序的任何地方访问...
如果您能赐教,在此先感谢您!
【问题讨论】:
标签: ruby redis gem sinatra rake