【问题标题】:Custom 404 action in RailsRails 中的自定义 404 操作
【发布时间】:2010-11-04 07:44:49
【问题描述】:

默认 Rails 将呈现 404.html,然后它认为错误 404 是合适的。但是,我想通过自定义页面制作它。请建议正确的方法。

【问题讨论】:

    标签: ruby-on-rails ruby rescue


    【解决方案1】:

    这个答案出奇地难找。

    如果您需要静态页面,请编辑 404.html。完成。

    如果你想要一个动态页面,那么:

    在 config/routes.rb 中:

    match '*not_found', to: 'errors#error_404' unless Rails.application.config.consider_all_requests_local
    

    注释掉unless 子句以在本地开发机器上测试404页面。

    生成一堆文件:

    rails generate controller errors error_404
    

    编辑views/errors/error_404.html.erb 进行自定义。

    这适用于 Rails 3.1 和 3.2.2。

    【讨论】:

    • 其他状态码如 500 或 422 的动态错误页面的代码呢?
    • 很好的解决方案!比我在这个问题上找到的其他答案要简单得多。谢谢。
    【解决方案2】:

    你可以使用render_404 monkey patching.

    或者,您可以在路由文件的底部设置一个默认路由,该路由将转到返回 404 状态代码的操作。

    理想情况下,如果您不想在 404 中添加任何自定义代码,您只需编辑静态 404.html,这是最简单的。

    【讨论】:

    • 链接断开。
    【解决方案3】:

    根据您的需要,我们的 gem 可能会有所帮助:http://github.com/hedgeyedev/snow

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多