我在控制器error404中创建了一个名为PagesController的操作。如果发生下列情况,我将显示此操作:
我怎样才能做到这一点?
我试着按照这个页面上的说明,Show a 404 instead of 500 in Rails,但这似乎只适用于第一种情况。
谢谢你帮忙。:)
发布于 2010-04-26 10:38:41
我认为,如果控制器中的操作不存在,并且控制器是由脚手架生成的,那么默认情况下,它将转到控制器的“show”方法。
代表Ex;:- http://www.domain.com/controller_name/invalid_action_name
这里,您的"controller_name“是有效的控制器。&
"invalid_action_name“是无效的操作。
然后默认情况下,它将转到"controller_name“的'show‘方法&将"invalid_action_name”视为params:id。
因此,在show方法中,您可以避免错误,并可以显示有效的错误页面,如“未找到记录”或“错误404”。
编辑后,您必须将新方法名的路由添加到/config/ EDITED es.rb中,如下所示
map.resources :controller_name, :collection=>{:show=>:get}当您更改此文件时,不要忘记重新启动服务器。
https://stackoverflow.com/questions/2712583
复制相似问题