我想了解Rails ActionController ::金属控制器.我已经阅读了
here,但不完全明白.
它用于构建API,但是也可以构建API.
那么它究竟做了什么,它有多少有用?
有人可以用例子来解释吗?
解决方法
ActionController :: Metal本质上是一个被删除的ActionController :: Base版本.它主要用于API,因为它不包括通常带有Rails控制器的模块,从而提高性能(甚至40%,具体取决于用例
https://gist.github.com/drogus/738168).
鉴于它只包含最基本的控制器功能,因此您只能为自己的类添加所需的功能.例如,可以添加渲染,令牌验证和过滤功能:
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