What actually does Rails ActionController::Metal

后端 未结 1 1710
误落风尘
误落风尘 2021-02-04 10:45

I want to understand about Rails ActionController::Metal controller. I have read about it here but don\'t understand it completely.

It is used to build

相关标签:
1条回答
  • 2021-02-04 11:10

    ActionController::Metal is essentially a stripped down version of ActionController::Base. It's mainly used for API's because it doesn't include modules that typically come with a Rails controller, thus improving performance (even 40%, depending on the use case https://gist.github.com/drogus/738168).

    Given the fact that it only includes the most basic controller functionality allows you to only add the needed features for your own classes. For example, one can add rendering, token auth and filtering functionality:

    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
    

    It's basically a quick method to ensure that you make best use of your compute resources.

    0 讨论(0)
提交回复
热议问题