Redis正在寻找env redis url变量,不知道在哪里放置env变量坏URI(不是URI?):( URI :: InvalidURIError)
我对redis很新。 这个rails应用程序在config / initializers中有一个redis.rb文件
uri = URI.parse(ENV["REDIS_URL"]) $redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
redis url在heroku配置上。
我不能用REDIS_URL
配置中的REDIS_URL
替换REDIS_URL
。
我收到URI解析错误
bad URI(is not URI?): (URI::InvalidURIError)
我的问题是我应该在哪里放置redisurl? 在哪里搜索env变量?
我猜你在做耙子的时候会得到这个。 问题是,在进行rake时,未设置环境变量,这会导致此错误( https://devcenter.heroku.com/articles/rails-asset-pipeline上的信息)。 要克服,请使用条件初始化程序,例如:
if ENV["REDISCLOUD_URL"] uri = URI.parse(ENV["REDISCLOUD_URL"]) $redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) end
PS或者,使用这个,但请注意,根据Heroku:
使用此实验室function被认为与Heroku最佳实践背道而驰。 此实验室function可以使您的构建更具确定性,并且在进行配置更改后需要重新部署。 理想情况下,您的应用应该能够无需配置即可构建。