2012-06-27 39 views
5

因此,我正在學習Rails並通過Michael Hartl的教程進行工作。Heroku模板錯誤 - 在錯誤的目錄中尋找部分

當我部署到Heroku時,我得到臭名昭着的「我們很抱歉,但出了問題。」

該應用在本地開發服務器上運行良好。

Heroku的日誌說:

2012-06-27T15:31:47+00:00 app[web.1]: Completed 500 Internal Server Error in 112ms 
2012-06-27T15:31:47+00:00 app[web.1]: 
2012-06-27T15:31:47+00:00 app[web.1]: * "/app/app/views" 
2012-06-27T15:31:47+00:00 app[web.1]: ActionView::Template::Error (Missing partial layouts/header with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]}. Searched in: 
2012-06-27T15:31:47+00:00 app[web.1]:): 
2012-06-27T15:31:47+00:00 app[web.1]:  11: </head> 
2012-06-27T15:31:47+00:00 app[web.1]:  12: <body> 
2012-06-27T15:31:47+00:00 app[web.1]:  13: 
2012-06-27T15:31:47+00:00 app[web.1]:  14: <%= render 'layouts/header' %> 
2012-06-27T15:31:47+00:00 app[web.1]:  15: 
2012-06-27T15:31:47+00:00 app[web.1]:  16:  <div class="container"> 
2012-06-27T15:31:47+00:00 app[web.1]: app/views/layouts/application.html.erb:14:in `_app_views_layouts_application_html_erb__112987114114249875_31386580' 
2012-06-27T15:31:47+00:00 app[web.1]:  17:  <% flash.each do |key, value| %> 

如果我正確地讀這篇文章,它看起來在/app/app/views頁眉部分。這是錯誤的 - 它應該在/app/views

在我的開發機器上,一個文件_header.html.erb位於app/views/layouts

那麼爲什麼Heroku增加額外的app目錄?

+0

這當然很奇怪。在你的控制檯中運行'heroku restart'可能值得重啓你的實例。 – John

+0

我已經這樣做了。日誌仍然給我同樣的錯誤。 –

+0

我繼續研究該教程,只是在開發中查看網站。在添加網站功能之後再進行一次git推送後,此錯誤消失。很奇怪。 –

回答

0

我只是有這個錯誤,這是因爲部分文件是haml,但我的Gemfile只有development組中有haml

我將其轉換爲Slim,我將其用於應用程序的所有其餘部分,就是這樣。

因此,基本上,服務器找不到該文件,因爲它有一個不受支持的擴展(它在開發環境中以某種方式可用)。

2

當我意識到自己的錯誤時,我遇到了同樣的問題:我在'git commit -am "commit_message"'之前忽略了'git add .',導致新文件退出提交。

據「git help commit」:

-a,--all 告訴命令自動階段已修改和刪除的文件,但是你還沒有告訴新文件約不受影響飯桶。

添加未跟蹤文件後,新的提交和'git push heroku master'它工作。