2010-03-01 59 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