ruby-on-rails - Heroku 应用程序在启动时无提示地失败

标签 ruby-on-rails heroku

我正在尝试在 Heroku 上部署一个应用程序,但尚未运行它。我看到了 Rails 500 页面(“我们很抱歉,但出了点问题”),但是当我 heroku 日志 时,我没有看到任何有趣的东西:

==> exceptional.log <==
# Logfile created on Tue Nov 02 11:27:18 -0700 2010 by logger.rb
[INFO] (init.rb:21) Tue Nov 02 18:27:18 UTC 2010 - Loading Exceptional 2.0.26 for 2.3.5

==> dyno-2858334.log <==
>> Thin web server (v1.2.6 codename Crazy Delicious)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:15336, CTRL+C to stop

==> production.log <==
# Logfile created on Tue Nov 02 11:27:17 -0700 2010

如您所见,我已经安装了 Exceptional 插件,并且 Exceptional 没有报告任何异常。

在 Heroku 上启动应用程序期间,什么可能会默默失败?

最佳答案

答案:我们的应用程序使用 Sass,它尝试将其编译的 CSS 写入 public/ 目录。在 Heroku 上,它位于只读文件系统上。相反,我安装了 Hassle ,它将编译后的 Sass CSS 放在 tmp/ 下,这是可读写的。

Heroku 支持人员通过将环境设置为 development 发现了该问题,这允许记录错误:

heroku config:add RACK_ENV=development

Hassle 网站建议添加 Hassle 作为插件,但当我只能使用 gems 时,我不喜欢使用插件。我通过将其添加到 Gemfile 并将其添加到 environment.rb 来使其工作:

# existing requires
# ...

require 'hassle'

Rails::Initializer.run do |config|
  # ...
  # existing config
  # ...

  config.middleware.use Hassle
end

现在它就可以工作了。

关于ruby-on-rails - Heroku 应用程序在启动时无提示地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081165/

相关文章:

jQuery DataTables PDF 选项不起作用

ruby-on-rails - 如何阻止谷歌搜索链接到 https?

jdbc - 如何在heroku中使用嵌入式tomcat配置数据源

ruby-on-rails - 使用 Rspec 测试模型中的关系和方法

ruby-on-rails - 如何从表单编码字符串中获得 pretty-print 效果

javascript - 下拉菜单中的值隐藏/显示 div(使用 Javascript 和 Ruby on Rails)

javascript - 如何从div中删除最后一个元素?

node.js - Heroku Review 应用程序配置和日志记录(与生产配置/日志记录相比)

javascript - Heroku部署找不到js文件

node.js - 在不使用环境变量的情况下读取 Heroku 上的 secret 配置文件