2010-03-01 61 views
0

我有一個不包含index操作的RESTful資源(假設爲posts)。當我轉到/posts時,ActionController::MethodNotAllowed被引發,因爲GET在該URL處的請求已被排除。這很有道理。Rails ActionController :: MethodNotAllowed導致生產中的WSODE

的問題是,在生產環境中,URL只是在瀏覽器中生成一個白色的屏幕。生產日誌中可以看到ActionController::MethodNotAllowed。我預計這也會導致404500錯誤,因此public目錄中的錯誤頁面將爲客戶端提供一個相當錯誤的頁面。

這是否會導致不同的HTTP狀態碼?我該如何處理?

+0

WSOD。 HAd之前沒有聽說過。 – Matchu 2010-03-01 03:24:05

+0

@Matchu http://en.wikipedia.org/wiki/White_screen_of_death – 2010-03-01 04:04:40

回答

1

我還不能肯定什麼錯誤可能是,但你應該得到Firebug和檢查什麼回來的HTTP響應代碼。

爲了解決這個問題,你可以做兩兩件事之一:

  1. 不要禁止的路線該頁面,但在該方法中唯一的代碼做一個重定向到相應的頁面。
  2. 添加覆蓋GET /posts的自定義路線,該路線指向您想要的控制器。
+0

使用Firebug(技術上來說就是我的案例中的Web Inspector)檢查響應代碼是否有效。狀態碼是405(方法不允許,非常合適!),所以我剛在公共目錄中創建了一個405錯誤頁面。謝謝! – 2010-03-01 04:03:59