2012-11-19 57 views
1

我有一個Redmine 2.1.2服務器正在運行。在我尚未推出的Rails-3 Rails 2應用程序中,我想要創建500.html頁面以使用戶可以對該錯誤進行Redmine問題並使用Redmine API創建它。但是,我不知道如何實際上「發送」來自500頁面的API調用,因爲它是「平坦」頁面(即,沒有控制器,視圖等)Rails 500錯誤頁面 - 創建Redmine問題與其他API

是否有可能在Javascript中這樣做(看起來很危險)?或者,我不知何故需要從500頁面調用我的Rails控制器之一,並從控制器方法執行API?我在這個主題上瀏覽了一下互聯網,但我很難找到具體的東西。

任何幫助,將不勝感激。

回答

1

您可以定義錯誤500頁面來訪問您的應用程序的特定操作,如解釋here

然後,在這個動作中,你可以使用一些gem連接到redmine api。一些例子可以是Rest-client或ApiClient

+0

呃,在那個鏈接裏,它是否談論500頁?在那45分鐘的視頻中? – istrasci

0

這有兩個部分。首先是在顯示500錯誤時,已經太晚了。有一個很好的stackoverflow answer on handling dynamic error pages here - 看看建議使用rescue(不是接受的答案)的答案。這意味着,儘管發生了一些不好的事情,但Rails仍在運行,您可以執行代碼。

然後,您可以根據需要收集信息以創建RedMine問題,並使用a tool like RestClient或其他方法輕鬆執行REST請求。

您可能還想考慮輝煌的ExceptionNotifier gem作爲替代。如果反覆出現相同的異常,最終會出現一堆Redmine問題(或需要更復雜的管理來處理此問題)。例外通知程序爲您提供了您在電子郵件中需要的所有內容(我將其發送給郵件組),然後您可以輸入一個更具建設性的Redmine問題。