Ruby on rails 如何在RubyonRails中正确处理错误url重定向到自定义404页面?

Ruby on rails 如何在RubyonRails中正确处理错误url重定向到自定义404页面?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rubygems,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rubygems,用户可以访问其他用户配置文件,如下所示: site.com/username “我的用户”控制器中的“我的查找”方法将通过用户的用户名查找该用户。。现在,如果用户不存在,我希望他们重新定向到一个自定义的404错误页面 我还希望他们重新定向任何其他不存在的url的他们键入 我在谷歌上找到了一些解决方案,但不知道是否有人能给我一个在rails 3.2中实现这一点的最新示例,因为我找到的这些教程都是rails 3.1之前的 在生产中,ActiveRecord::RecordNotFound异常将自动呈

用户可以访问其他用户配置文件,如下所示:

site.com/username

“我的用户”控制器中的“我的查找”方法将通过用户的用户名查找该用户。。现在,如果用户不存在,我希望他们重新定向到一个自定义的404错误页面

我还希望他们重新定向任何其他不存在的url的他们键入

我在谷歌上找到了一些解决方案,但不知道是否有人能给我一个在rails 3.2中实现这一点的最新示例,因为我找到的这些教程都是rails 3.1之前的


在生产中,ActiveRecord::RecordNotFound异常将自动呈现您的public/404.html文件。

它不只是在/public/404.html中吗

更新


事实上,我很确定,在生产模式下在nginx上运行我的页面时,会出现相同的404页面

当找不到记录或输入无效URL时,始终可以呈现模板404和状态代码


以下是RubyonRails中自定义动态错误页面的博客,将对您有所帮助


我在Rails3.2上尝试了这个解决方案,它很管用

在config/application.rb中

在您的config/routes.rb中

创建应用程序/控制器/错误\u controller.rb

如果不使用haml,则创建app/views/errors/not_found.html.haml和app/views/errors/server_error.html.haml,并用erb替换haml

重新启动服务器


如果我希望在开发模式中看到这一点,该怎么办?我该怎么处理呢?你是在问如何简单地查看404页面吗?是的,我希望尽可能接近我的用户体验,但都处于开发模式。因此,当输入错误的URL时,必须查看404页。
render :template => 'public/404.html', :status => 404
config.exceptions_app = self.routes
get '/404', to: 'errors#not_found'
get '/500', to: 'errors#server_error'
class ErrorsController < ApplicationController
  def not_found
    render status: 404
  end

  def server_error
    render status: 500
  end
end