ActionController :: Kim loại cơ bản là phiên bản rút gọn của ActionController :: Base. Nó chủ yếu được sử dụng cho API bởi vì nó không bao gồm các mô-đun thường đi kèm với bộ điều khiển Rails, do đó cải thiện hiệu suất (thậm chí 40%, tùy thuộc vào trường hợp sử dụng https://gist.github.com/drogus/738168).
Với thực tế là nó chỉ bao gồm các chức năng điều khiển cơ bản nhất cho phép bạn chỉ thêm các tính năng cần thiết cho các lớp học của riêng bạn. Ví dụ: người dùng có thể thêm chức năng hiển thị, xác thực mã thông báo và chức năng lọc:
class ApiGenericController < ActionController::Metal
include ActionController::Rendering
include ActionController::Renderers::All
include ActionController::MimeResponds
include ActionController::ImplicitRender
include AbstractController::Callbacks
include ActionController::HttpAuthentication::Token::ControllerMethods
Về cơ bản, đây là phương pháp nhanh để đảm bảo bạn sử dụng tốt nhất tài nguyên tính toán của mình.
Cảm ơn bạn, nó đã giúp tôi giải quyết vấn đề này: http://stackoverflow.com/questions/42138227/how-to-use-before-action-on-doorkeepertokencontroller/42139088#42139088 với Doorkeeper! – Francois