2010-06-27 75 views

回答

3

在你的控制器:

def your_method 
    #processing that fails 
    flash[:notice] = 'your error message' 
end 

在你看來:

<% if !flash[:notice].nil? %> 
    <p id="notice"><%= flash[:notice] %></p> 
<% end %> 

爲Flash哈希的文檔可here

要在應用程序級別從錯誤中挽救而不是顯示錯誤信息給用戶,你可以使用

rescue_from ErrorType, :with => :action_method 

例子:
Customising the generic Rails error message
http://www.perfectline.co.uk/blog/custom-dynamic-error-pages-in-ruby-on-rails

+0

我的意思是更像是由rails生成的錯誤(也許該視圖使用未定義的變量) – 2010-06-29 04:29:56

+0

fayer。感謝接受,即使我沒有回答你正在尋找的問題。您的問題很簡短,並且聽起來像是每個控制器異常都應顯示爲錯誤消息。我更新了一些關於如何根據控制器中的例外顯示自定義錯誤頁面的參考資料。第二個鏈接是一個相當不錯的資源,它展示瞭如何捕獲錯誤和日誌,但是你必須小心,日誌不會拋出錯誤,否則你會被鎖定在循環中。 – 2010-08-06 14:04:22

0

當你有一個像提到的錯誤其一,當你嘗試到達相應的頁面時,你應該有一個錯誤信息而不是正確的頁面。