Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 避免rake资产的正确方法是什么:Heroku上的预编译错误_Ruby On Rails_Ruby On Rails 3_Heroku_Asset Pipeline - Fatal编程技术网

Ruby on rails 避免rake资产的正确方法是什么:Heroku上的预编译错误

Ruby on rails 避免rake资产的正确方法是什么:Heroku上的预编译错误,ruby-on-rails,ruby-on-rails-3,heroku,asset-pipeline,Ruby On Rails,Ruby On Rails 3,Heroku,Asset Pipeline,我运行在Rails 3.2.2上,部署在Cedar堆栈上。我仍然得到以下错误: -----> Writing config/database.yml to read from DATABASE_URL -----> Preparing app for Rails asset pipeline Running: rake assets:precompile rake aborted! could not connect to server: C

我运行在Rails 3.2.2上,部署在Cedar堆栈上。我仍然得到以下错误:

-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       rake aborted!
       could not connect to server: Connection refused
       Is the server running on host "127.0.0.1" and accepting
       TCP/IP connections on port 5432?
甚至建议将
config.assets.initialize\u on\u precompile
设置为false,但提到:

确保测试rake资产:在部署之前在本地预编译。信息技术 可能会暴露资产引用应用程序对象或 方法,因为这些方法在开发模式中仍然在范围内 此标志的值

像这样的一些文章建议使用。但即使是这样,也有它自己的含义,因为它仍然处于测试阶段

我在网上阅读了其他几个来源,包括:

所有这些都有不同的解决方案。那么,避免这种错误的正确方法是什么呢?有人在Heroku实验室遇到什么大问题吗?有更好的方法吗


PS。我只是想说清楚。运行
rake资产:precompile RAILS\u ENV=development
rake资产:precompile RAILS\u ENV=production
是本地运行的正确方式吗?

问题源于这样一个事实,即当您运行rake任务时,您的应用程序正试图连接到postgres。消除此错误的唯一方法是停止此错误的发生,或者使用您提到的
user\u env\u compile
加载项。

(1)我总是按照您的建议添加此错误

config.assets.initialize_on_precompile = false
(2) 但是,如果使用ActiveAdmin和/或Desive,则在对routes.rb进行编码时,将其路由排除在外,如下所示

  unless ARGV.join.include?('assets:precompile')
    ActiveAdmin.routes(self)

    devise_for :admin_users, ...etc....
    devise_for :users, ...etc...

    devise_scope :user do
    get "/login", ..etc
  end

根据和其他地方

错误日志是否告诉您一些有用的信息?它表明我已经阅读了关于在链接上应用解决方案的混合结果谢谢,刚刚遇到了这个问题。