开发者

Rails ActionController::MethodNotAllowed causes WSOD in production

开发者 https://www.devze.com 2022-12-21 18:19 出处:网络
I\'ve got a RESTful resource (let\'s say posts) that excludes the index action. When I go to /posts, ActionController::MethodNotAllowed is raised because GET requests at that URL have been excluded. T

I've got a RESTful resource (let's say posts) that excludes the index action. When I go to /posts, ActionController::MethodNotAllowed is raised because GET requests at that URL have been excluded. That much makes sense.

The problem is that in the production environment, that URL just g开发者_开发知识库enerates a white screen in the browser. I can see ActionController::MethodNotAllowed being raised in the production log. I would expect that this would also cause a 404 or 500 error so that the error pages in the public directory would serve a pretty error page to the client.

Does this cause a different HTTP status code? How can I handle this?


I'm not positive about what the error might be, but you should get Firebug and check what the HTTP response code coming back is.

To get around the issue, you could do one of two things:

  1. Don't disallow that page in the routes, but have the only code in that method do a redirect to an appropriate page.
  2. Add a custom route that overrides GET /posts, which points to your desired controller.
0

精彩评论

暂无评论...
验证码 换一张
取 消