Ruby on rails 错误H10:Heroku上的应用程序错误

Ruby on rails 错误H10:Heroku上的应用程序错误,ruby-on-rails,heroku,Ruby On Rails,Heroku,我是Rails和Heroku的新手。我尝试将我的应用程序推送到Heroku上,推送成功,但由于某些原因,我在Heroku网站上收到一个应用程序错误: "An error occurred in the application and your page could not be served." 如果有人能帮忙就好了。传递有关我的应用程序和环境的一些信息 在我的Gem文件中,我运行了以下数据库: group :development, :test do gem "sqlite3", "~&g

我是Rails和Heroku的新手。我尝试将我的应用程序推送到Heroku上,推送成功,但由于某些原因,我在Heroku网站上收到一个应用程序错误:

"An error occurred in the application and your page could not be served." 
如果有人能帮忙就好了。传递有关我的应用程序和环境的一些信息

在我的Gem文件中,我运行了以下数据库:

group :development, :test do
gem "sqlite3", "~> 1.3.6"
end

group :production do 
gem 'pg'
end

group :assets do
gem 'sass-rails',   '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
end
在Database.yml中,设置以下数据库:

development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000

production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
首先,我不明白为什么.yml文件在生产服务器中仍然显示Sqlite3?不应该改成pgres吗。在Heroku日志中,这是显示的关键错误消息:

 2012-10-23T19:22:36+00:00 heroku[router]: Error H10 (App crashed) -> GET thawing-dusk-  8202.herokuapp.com/analysis dyno= queue= wait= service= status=503 bytes=
希望有人能帮我解决这个问题


谢谢,

您的Rails应用程序很可能在从源文件启动时引发异常

# config/environments/development.rb
Rails.application.configure do

  config.eager_load = true

end
这个异常在开发环境中可能并不明显,因为Rails在开发或测试中并不急于加载文件。但是,当生产环境导致Rails应用程序急切地加载所有源文件时,异常会中断应用程序的启动过程,应用程序崩溃,Heroku日志上缺少堆栈跟踪

要获得信息性堆栈跟踪,请从运行heroku run Rails c的终端访问Rails控制台,前提是项目中包含并配置了heroku Toolbelt。这在启动时也会失败,因为您正在访问生产环境,但是堆栈跟踪将比Heroku日志更广泛

诊断问题的另一种方法是将开发环境设置为加载源文件

# config/environments/development.rb
Rails.application.configure do

  config.eager_load = true

end

最后,此问题的最佳解决方案是查看您的测试套件(如果有),以包括验证源文件功能的测试用例。

检查是否有任何过程需要30秒以上,如果是,则您的应用程序将因H10错误而崩溃。

当您推到heroku时,.yml文件无效。在你俯卧撑后,它会用自己的来代替它。我必须承认,我不知道你可以在哪里找到,直到你发布了一个完整的堆栈跟踪。您可以使用命令
heroku-logs
查看日志,甚至可以尝试访问控制台,查看是否通过
heroku-run-console
获得跟踪。您可以尝试的另一件事是在本地生产环境中运行rails应用程序,看看是否有效