来自Heroku 文档 https://devcenter.heroku.com/articles/rails-asset-pipeline:
这意味着您的应用程序正在尝试连接到数据库作为 rake asset:precompile 的一部分。由于配置变量不存在于环境中,因此我们使用占位符 DATABASE_URL 来满足 Rails 的要求。
要解决此问题,请确保以下行出现在您的config/application.rb
:
# config/application.rb
config.assets.initialize_on_precompile = false
添加后,提交更改并重新部署到 Heroku - 您的资产应该在应用程序尝试连接到数据库的情况下进行编译,这应该可以解决您所看到的错误。
UPDATE:
第 46 行你的堆栈跟踪 http://pastebin.com/9cJsejc2包括以下消息:Devise.secret_key was not set.
根据 https://github.com/plataformatec/devise/issues/2554#issuecomment-22181594致《Devise》的作者,何塞·瓦利姆 https://github.com/josevalim,这个问题可以通过以下方式解决:
请将以下内容添加到您的 Devise 初始值设定项中:
config.secret_key = '-- 密钥 --'
或者, 以下解决方案 https://github.com/plataformatec/devise/issues/2554#issuecomment-24011116似乎对许多用户都有效:
我转到routes.rb 文件并注释掉 devise_for :installs 行
然后我回去重新运行railsgeneratedevise:install。如果这不起作用,请通过编辑 Gemfile 对 Devise 的引用来使用以前版本的 devise,如下所示:gem 'devise', '3.0.3',然后按照我上面提到的步骤进行操作。