[英]Vanity, Rails 3 and Heroku
我試圖讓 Vanity 與 Heroku 和我的 Rails 3 應用程序很好地配合。 目前,使用 Pow 和本地 Redis 服務器在本地一切正常,但是當我使用 RedisToGo 插件推送到 Heroku 時,似乎沒有任何東西可以讓服務器運行,我只是得到錯誤: getaddrinfo: Name or service not known
。
這是我的 config/vanity.yml 文件:
staging:
adapter: redis
host: <%= ENV["REDISTOGO_URL"] %>
和我的配置/初始化程序/redis.rb:
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
我也嘗試過使用實際的redis://<actualusername>:actualpassword@actualserver.com:9274
並給出相同的錯誤。 我也嘗試過使用和不使用redis://
。
有沒有人讓 Vanity 使用 Heroku 和 Rails 3? 我錯過了一些非常明顯的東西嗎? 到目前為止,我的 Google-fu 讓我失望了。
是的,這很愚蠢,好吧。 你不使用host
,你使用connection
。
staging:
adapter: redis
connection: <%= ENV["REDISTOGO_URL"] %>
希望這對某人有所幫助,因為我幾乎把我的電腦打得一塌糊塗。
如果你在 Heroku 上使用 Postgres,你需要做一些不同的事情。 這是我的 hack (config/vanity.yml):
production:
adapter: active_record
active_record_adapter: postgresql
<% username, password, host, database = ENV['DATABASE_URL'].scan(%r{//(.*):(.*)@(.*)/(.*)}).first %>
host: <%= host %>
username: <%= username %>
password: <%= password %>
database: <%= database %>
而且您必須強制 Vanity 不使用 Redis 適配器(如果您問我,這是一個錯誤)。 把它放在一個初始化器中:
Vanity.playground.establish_connection(Rails.env.to_sym)
最后一點:如果您在 Heroku 上使用 ActiveRecord 和 Postgres 並且您不在共享數據庫上,則連接字符串應為:
username, password, host, port, database = ENV['DATABASE_URL'].scan(%r{//(.*):(.*)@(.*):(.*)/(.*)}).first
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.