我正在尝试在Heroku上部署应用程序,但我尚未运行它。我看到了Rails 500页面(“我们很抱歉,但出了问题”),但是当我heroku logs
时,我没有看到任何有趣的内容:
==> 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上启动应用程序期间,哪些内容可能会无声地失败?
答案 0 :(得分:4)
答案:我们的应用程序正在使用Sass,它试图将编译后的CSS写入public/
目录。在Heroku上,这是在只读文件系统上。相反,我安装了Hassle,它将编译后的Sass CSS放在tmp/
下,这是可读写的。
Heroku支持通过将环境设置为development
来发现问题,从而允许记录错误:
heroku config:add RACK_ENV=development
Hassle网站建议添加Hassle作为插件,但是当我可以使用宝石时,我不想使用插件。我通过将其添加到Gemfile并将其添加到environment.rb
:
# existing requires
# ...
require 'hassle'
Rails::Initializer.run do |config|
# ...
# existing config
# ...
config.middleware.use Hassle
end
现在它正常运作。
答案 1 :(得分:3)
尝试(从应用的根目录):
heroku rake db:migrate
heroku db:push
答案 2 :(得分:1)
您看到 Rails的500页意味着该应用程序正常运行(例如,它可以启动并产生500错误)。
一个问题可能是您的数据库未迁移。尝试迁移它或上传您的开发数据库。