Jng*_*297 4 ruby-on-rails redis
我对 redis 还很陌生。此 Rails 应用程序在 config/initializers 中有一个 redis.rb 文件
uri = URI.parse(ENV["REDIS_URL"])
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Run Code Online (Sandbox Code Playgroud)
redis url位于heroku配置中。
我不能只REDIS_URL用REDIS_URL来自heroku的配置替换。
我收到 URI 解析错误
bad URI(is not URI?): (URI::InvalidURIError)
Run Code Online (Sandbox Code Playgroud)
我的问题是我应该将 redis url 放在哪里?它从哪里搜索 env 变量?
我猜你在做 rake 时会得到这个。问题是,当 rake-ing 时,您的环境变量未设置,这会导致此错误(信息位于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
Run Code Online (Sandbox Code Playgroud)
PS 或者,使用它,但请注意,根据 Heroku:
使用此实验室功能被认为违反 Heroku 最佳实践。此实验室功能可以降低您的构建的确定性,并需要在更改配置后重新部署。理想情况下,您的应用程序应该能够无需配置即可构建。
| 归档时间: |
|
| 查看次数: |
5307 次 |
| 最近记录: |