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.
Các vấn đề liên quan
- 1. Hiển thị tuyến đường cụ thể thay vì trang lỗi (404) - Symfony2
- 2. Symfony2 hiển thị trang lỗi 404 trong dev
- 3. Tôi làm cách nào để chuyển hướng Lỗi 404 trong trang 404 tùy chỉnh bằng Codeigniter?
- 4. httpErrors hiển thị lỗi 500 thay vì YSOD trên máy cục bộ
- 5. Hiển thị trang lỗi 404 sau khi [Ủy quyền] thất bại
- 6. Tại sao apache không hiển thị lỗi 404 khi tôi gửi tiêu đề 404 bằng php?
- 7. Lỗi Symfony2 500 thay vì 404 khi sản xuất
- 8. PHP - Hiển thị Lỗi 404 mà không chuyển hướng đến một trang khác
- 9. Lấy trang trống thay vì trang lỗi 401
- 10. Làm cách nào để hiển thị riêng các thông báo lỗi XML trong Ruby on Rails?
- 11. Hiển thị trang 404 tuỳ chỉnh lỗi với tiêu chuẩn http gói
- 12. Kích hoạt 500 lỗi máy chủ nội bộ trong PHP và hiển thị trang lỗi Apache
- 13. Làm cách nào để IIS6 nhận ra các tuyến đường dẫn thay vì trả về lỗi "404 Chưa được mô tả"?
- 14. làm thế nào để hiển thị lỗi MySql trong php
- 15. Định tuyến Ember.js: làm cách nào để bạn đặt tuyến đường mặc định để hiển thị ngay lập tức?
- 16. Lỗi tùy chỉnh IIS 404: Mã phản hồi trả về URL 200 thay vì
- 17. Làm cách nào để tạo trang 404?
- 18. Google 404 và .NET Các trang lỗi tùy chỉnh
- 19. ASP.NET MVC Tuỳ chỉnh trang Lỗi (StatusCode 404 ném 500)
- 20. trả lời với lỗi 404 từ trang asp.net codebehind
- 21. IIS7 tuỳ chỉnh 404 không hiển thị
- 22. Làm cách nào để tạo các trang 404 không ghi nhật ký lỗi?
- 23. Làm thế nào để hiển thị thông báo lỗi JSON?
- 24. Làm thế nào để hiển thị thông báo được truyền tới Http404 trong mẫu Lỗi 404 tùy chỉnh ở Django?
- 25. Django: Hiển thị lỗi định dạng chính xác
- 26. PHP: Làm thế nào để làm của riêng trang 404 không tìm thấy lỗi của tôi
- 27. Ajax.BeginForm - Hiển thị lỗi Validation
- 28. Làm thế nào để tạo các trang lỗi 404 tùy chỉnh trong ASP.NET MVC 3?
- 29. Làm cách nào để thay đổi thẻ của Trình trang trí lỗi mặc định trong Zend_Form?
- 30. Nginx trys để tải xuống tệp thay vì hiển thị