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