我在mac osx leopard上使用rails 2.3。 每当我键入一个在rails应用程序中不存在的URL时,我都会收到以下错误
Routing Error
No route matches "/whatever_i_typed" with {:method=>:get}
这是发现的发现,但我想知道如何确保用户看到更友好的'哎呀!找不到'页面。我正在考虑做一个开始...救援块,但我不知道在哪里放,它不知道错误代码(即ActiveRecord :: RecordNotFound)
谢谢! 尤瓦
答案 0 :(得分:2)
此错误永远不会出现在制作中。相反,用户将看到public / 404.html页面。
要在本地主机上尝试此操作,请将乘客/杂种投入生产模式。覆盖local_request?
上的ApplicationController
方法,如下所示:
class ApplicationController
def local_request?
false
end
end
如果您想尝试动态行为,可以查看ActionController上的rescue_from
类方法。
答案 1 :(得分:0)
怎么样
map.connect '*url', :controller => "not_found"
作为最后routes.rb
条目?我认为应该这样做,不应该吗?
答案 2 :(得分:0)
我发现下面的网址对Rails 3.0 ..用户很有帮助。
http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution