如何在 rails 3 中将整个站点重定向到 404 页面

How to redirect an entire site to a 404 page in rails 3

我正在寻找将整个站点重定向到 routes.rb 文件中的 404 页面的正确方法 rails 3 应用程序。

我可以做一个页面使用:match 'url' => redirect("/404")

但我想知道如何在不使用向每个路由添加重定向的情况下对所有页面进行 404 处理?

您可以在 ApplicationController 中创建一个新方法,如下所示:

class ApplicationController < ActionController::Base
  # ... other code

  def redirect_to_404
    raise ActionController::RoutingError.new('Not Found')
  end
end

然后在处理您要重定向的视图的控制器中调用该函数。

在 Rails 中,您可以创建一个方法来在应用程序控制器、ActiveRecord 和抽象控制器中呈现 404:

def make_404
raise ActionController::RoutingError.new('404')
end