rails:在rails中显示用户友好消息以发现路由错误

时间:2009-06-05 20:58:01

标签: ruby-on-rails

我在mac osx leopard上使用rails 2.3。 每当我键入一个在rails应用程序中不存在的URL时,我都会收到以下错误

Routing Error

No route matches "/whatever_i_typed" with {:method=>:get}

这是发现的发现,但我想知道如何确保用户看到更友好的'哎呀!找不到'页面。我正在考虑做一个开始...救援块,但我不知道在哪里放,它不知道错误代码(即ActiveRecord :: RecordNotFound)

谢谢! 尤瓦

3 个答案:

答案 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