2012-07-06 54 views
0

我正在撕裂我的頭髮。在我的Mac上,顯示自定義漂亮的錯誤,我想顯示給我的用戶。當我部署到我的Ubuntu的盒子時,我得到了一個最小的黑白錯誤信息。Sinatra和自定義漂亮的錯誤在Ubuntu的生產

我有西納特拉錯誤處理,像這樣

set :raise_errors, false 
set :show_exceptions, false 

not_found do 
    erb :'errors/not_found' 
end 

我以爲這是因爲我正在運行nginx的和薄(在Ubuntu),但如果我繞過這個堆棧和運行指導我仍然有問題在Ubuntu上。

ruby start.rb #I get a minimal black and white error 

OR

rackup -E production config.ru #I get a minimal black and white error 

OR

rackup -E development config.ru #I get rack stack trace 

我變得非常錯誤在我的Mac,無論我如何開始,即使我用機架:: ShowExceptions。我正在運行ruby 1.9.2和sinatra 1.3.2。

任何線索,如何我可以得到生產用戶漂亮的錯誤?

回答

0

好吧,經過幾個星期的失敗嘗試解決這個問題後,我意識到我在做一些愚蠢的事情。我在我的生產config.yaml中缺少[email_errors] [to]。這是打破我的error_handler。當我在我的config.ru中添加'使用Rack :: ShowExceptions'時,如果我讀了機架堆棧跟蹤信息,我會看到這個問題,除非我沒有閱讀它,因爲error_handler拋出了我期望的同樣的錯誤測試錯誤。愚蠢的疏忽。