ruby-on-rails – 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配置上.

我不能用redoku配置中的REDIS_URL替换REDIS_URL.

我收到URI解析错误

bad URI(is not URI?):  (URI::InvalidURIError)

我的问题是我应该在哪里放置redis网址?在哪里搜索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,:password => uri.password)
end

附:或者,使用this,但请注意,根据Heroku:

Using this labs feature is considered counter to Heroku best practices. This labs feature can make your builds less deterministic and require re-deploys after making config changes. Ideally your app should be able to build without config.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...