Tôi muốn phát hiện lỗi hành động không xác định trong Rails 3, hiển thị lỗi "Hành động không xác định" khi phát triển và 404.html về sản xuất. Tôi đã thử đặt xử lý này rescue_from
trên ApplicationController của tôi (và cũng trên một bộ điều khiển thực tế, chỉ trong trường hợp) nhưng tôi vẫn thấy lỗi xấu xí.Bắt hành động không xác định trong Rails 3 cho tuỳ chỉnh 404
Tôi có nội dung tùy chỉnh trên 404 và không thể là tệp .html đơn giản.
tuyến đường của tôi:
match '/user/:id/:action', controller: 'users'
URL Tôi đang truy cập: /user/elado/xxx
Các rescue_from
mã:
rescue_from AbstractController::ActionNotFound, :with => :action_not_found
def action_not_found
render text: "action_not_found"
end
Các lỗi trong trình duyệt:
Unknown action
The action 'xxx' could not be found for UsersController
Và trong giao diện điều khiển:
Started GET "/user/elado/xxx" for 127.0.0.1 at 2011-09-07 19:16:27 -0700
AbstractController::ActionNotFound (The action 'xxx' could not be found for UsersController):
cũng rescue_from ActionController::UnknownAction
thử.
Mọi đề xuất? Cảm ơn!
Liên kết sau đây cung cấp một số thông tin chi tiết tốt, nó cũng đưa ra một ví dụ về cách xử lý ngoại lệ tốt hơn (3.2 hoặc cao hơn). http://geekmonkey.org/articles/29-exception-applications-in-rails-3-2 – Agustin