我在Heroku上构建了一个Rails 3应用程序。现在我的错误页面和404页面都是标准rails/heroku页面。Rails 3 - 自定义错误和404页面
我想定制这两个。有一个页面上的错误,并有一个404
在谷歌上的所有教程岁页面,不on Rails的3
工作,能否请您提出一个很好的现代化教程或如何做到以上的提示?
感谢
我在Heroku上构建了一个Rails 3应用程序。现在我的错误页面和404页面都是标准rails/heroku页面。Rails 3 - 自定义错误和404页面
我想定制这两个。有一个页面上的错误,并有一个404
在谷歌上的所有教程岁页面,不on Rails的3
工作,能否请您提出一个很好的现代化教程或如何做到以上的提示?
感谢
如果要捕获特定错误,请在ApplicationController
中使用rescue_from
。
否则,如果你只是想修改默认的错误页面,编辑500.html和400.html文件{} Rails.root /公共
好Rails3中仍然使用公用文件夹相同404.html,422.html和500.html。您可以自定义这些。
如果你谈论的是实际捕获这些异常,并做一些动态的东西,我觉得基本的功能是一样的,有一些around_filter
映入在application_controller
即ActiveRecord::RecordNotFound
您的特殊例外,做的东西。
2013从Jose Valim
0更新为Rails 3.当Rails 3.0问世时,人们突然错失的功能之一就是能够更好地处理异常。问题是:由于Rails 3变得更加Rack“流利”,我们必须将某些功能移到中间件堆栈,这迫使我们移动整个异常处理。 Rails 3.2尝试通过允许您设置自己的例外机架应用程序来重新引导一些自定义,这些应用程序在发生故障时会被调用。例如,你可以设置你的config/application.rb中的例外应用到你自己的路由器:
config.exceptions_app = self.routes
现在,每次有一个例外,你的路由器将被调用。因此,呈现自定义404页,你可以简单地添加到您的路由器:
match "/404", :to => "errors#not_found"
而且实现逻辑控制器,如你所愿!不过,也有几件事情要记住,如果你走这条路:
rails server -e production
]请记住,无论你在做错误控制器,它不应该是任何“幻想”。保持简单,因为你的应用程序已经出错了!