使用Rails预编译资产3.1

时间:2011-11-03 03:44:47

标签: ruby-on-rails ruby-on-rails-3.1 asset-pipeline

我正在推动对Heroku的改变,我得到......

  耙子中止了!
  无法连接到服务器:连接被拒绝   服务器是否在主机“127.0.0.1”上运行并接受
  端口5432上的TCP / IP连接?

当我查阅Heroku文档Here时,它告诉我需要“在本地config / database.yml中配置一个不存在的数据库”我不知道如何创建“不存在的数据库”?我是初学者,非常感谢你能给我的任何帮助。感谢。

3 个答案:

答案 0 :(得分:29)

在Heroku上,必须在config / application.rb中设置此行:

config.assets.initialize_on_precompile = false

http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

  

对于更快的资产预编译,您可以部分加载您的应用程序   通过将config.assets.initialize_on_precompile设置为false   config / application.rb,虽然在那种情况下模板看不到   应用程序对象或方法。 Heroku要求这是假的。

答案 1 :(得分:0)

这意味着放入本地开发环境中实际不存在的数据库的名称。然后尝试运行rake assets:precompile

您在本地模拟相同的场景(不可用的数据库)。

你在这个应用程序中使用Devise吗?它有一个known issue similar to this。您可能想要更新该gem。

答案 2 :(得分:0)

我遇到了同样的问题。由于某种原因,似乎在资产预编译时未设置DATABASE_URL环境变量。解决方法是在production.rb文件中设置DATABASE_URL。 ENV["DATABASE_URL"] = <your db url> 这应该可以解决问题。