ActionController :: Metal temelde ActionController :: Base'nin bir alt sürüm sürümüdür. Esas olarak API'lar için kullanılır, çünkü genellikle Rails denetleyiciyle gelen modülleri içermez, böylece performansı artırır (https://gist.github.com/drogus/738168 kullanım durumuna bağlı olarak bile% 40).
Yalnızca en temel denetleyici işlevini içermesi göz önüne alındığında, yalnızca kendi sınıflarınız için gereken özellikleri eklemenize izin verir. Örneğin, bir render belirteç kimlik doğrulama ve filtreleme işlevi ekleyebilirsiniz:
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
Bu sizin hesaplama kaynaklarının en iyi şekilde kullanmak sağlamak için temelde hızlı bir yöntemidir.
Teşekkür ederim, bunu çözmeme yardımcı oldu: http://stackoverflow.com/questions/42138227/how-to-use-before-action-on-doorkeepertokencontroller/42139088#42139088 Kapıcı ile! – Francois