虚荣,Rails 3和Heroku

我正在努力让Vanity与Heroku和我的Rails 3应用程序很好地配合。 目前,使用Pow和本地Redis服务器在本地工作正常,但是当我使用RedisToGo插件推送到Heroku时,似乎没有任何东西让服务器运行,我只是得到错误: getaddrinfo: Name or service not known

这是我的config / vanity.yml文件:

 staging: adapter: redis host:  

和我的config / initializers / redis.rb:

 uri = URI.parse(ENV["REDISTOGO_URL"]) REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) 

我也尝试使用实际的redis://:actualpassword@actualserver.com:9274并且它给出了相同的错误。 我也尝试过使用和不使用redis://

有没有人让Vanity和Heroku和Rails 3一起工作? 我错过了一些非常明显的东西吗? 到目前为止,我的谷歌已经失败了。

是的,这是愚蠢的,好的。 您不使用host ,您使用connection

 staging: adapter: redis connection: <%= ENV["REDISTOGO_URL"] %> 

希望这对某人有所帮助,因为我几乎把我的电脑打成了纸浆。

如果你在Heroku上使用Postgres,你需要做一些不同的事情。 这是我的黑客(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适配器(如果你问我,那就是一个bug)。 把它放在初始化器中:

 Vanity.playground.establish_connection(Rails.env.to_sym) 

最后一点说明:如果您在Heroku上使用ActiveRecord和Postgres而您不在共享数据库上,则连接字符串应为:

 username, password, host, port, database = ENV['DATABASE_URL'].scan(%r{//(.*):(.*)@(.*):(.*)/(.*)}).first