1- إنشاء controller خاص بالأخطاء
rails g controller errors show
class ErrorsController < ApplicationController
def show
render status_code.to_s, :status => status_code
end
protected
def status_code
params[:code] || 500
end
end
2- إضافة routes الخاص بالصفحات
config/routes.rb
%w( 404 422 500 ).each do |code|
get code, :to => "errors#show", :code => code
end
3- استخدام التوجيه الذي تم إضافته بالخطوة السابق بدلا من التوجيه الافتراضي الذي يقود للصفحات ضمن مجلد public
config/application.rb
config.exceptions_app = self.routes
4- إضافة صفحات ضمن views/errors
باسماء صفحات الأخطاء
app/views/errors/404.html.erb
404 - Not Found
app/views/errors/500.html.erb
500 - internal_error
app/views/errors/422.html.erb
422 - unacceptable