【问题标题】:rails: displaying a user friendly message for a routing error in railsrails:在 rails 中显示路由错误的用户友好消息
【发布时间】:2011-11-25 17:08:56
【问题描述】:

我在 mac osx leopard 上使用 rails 2.3。 每次我输入 Rails 应用程序中不存在的 url 时,我都会收到以下错误

Routing Error

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

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

谢谢! 尤瓦尔

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    此错误永远不会出现在生产中。相反,用户将看到 public/404.html 页面。

    要在您的本地主机上尝试此操作,请将乘客/mongrel 置于生产模式。像这样覆盖ApplicationController 上的local_request? 方法:

    class ApplicationController
      def local_request?
        false
      end
    end
    

    如果您想尝试动态行为,可以查看 ActionController 上的 rescue_from 类方法。

    【讨论】:

      【解决方案2】:

      怎么样

      map.connect '*url', :controller => "not_found"
      

      作为最后一个routes.rb 条目?我认为它应该可以解决问题,不是吗?

      【讨论】:

      • 如果您遇到 ActiveRecord 错误,是否无法“挽救”错误?
      【解决方案3】:

      我发现以下网址对 Rails 3.0.. 用户很有帮助。

      http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution

      【讨论】:

        猜你喜欢
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-26
        • 1970-01-01
        相关资源
        最近更新 更多