ruby-on-rails – Redis正在寻找env redis url变量,不知道在哪里放置env变量坏URI(不是URI?):( URI :: InvalidURIError)

前端之家收集整理的这篇文章主要介绍了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.

原文链接:https://www.f2er.com/ruby/271327.html

猜你在找的Ruby相关文章