Trong ứng dụng Ruby on Rails của tôi, tôi muốn hiển thị trang lỗi 404 thay vì lỗi định tuyến khi tuyến đường đã cho không khớp hoặc tồn tại trong ứng dụng của tôi. Ai có thể giúp tôi để làm cho nó có thể?Làm cách nào để hiển thị trang lỗi 404 thay vì lỗi định tuyến?
6
A
Trả lời
11
Đây là hành vi mặc định trong quá trình sản xuất. Trong các lỗi định tuyến môi trường phát triển được hiển thị để cho nhà phát triển nhận thấy chúng và sửa chúng.
Nếu bạn muốn dùng thử, hãy khởi động máy chủ ở chế độ sản xuất và kiểm tra.
$ script/rails s -e production
0
Bạn có thể bắt ngoại lệ được ném khi không tìm thấy tuyến đường và sau đó hiển thị trang tùy chỉnh. Hãy cho tôi biết nếu bạn cần trợ giúp về mã. Có thể có nhiều cách khác để làm điều này nhưng điều này chắc chắn hoạt động.
6
trong ApplicationController
rescue_from ActiveRecord::RecordNotFound, :with => :rescue404
rescue_from ActionController::RoutingError, :with => :rescue404
def rescue404
#your custom method for errors, you can render anything you want there
end
4
Nếu bạn không thể dễ dàng chạy chế độ sản xuất tại địa phương, thiết lập các consider_all_requests_local
false trong tập tin config/environments/development.rb
của bạn.