想问一下ruby grape里以下的present,with,type都是什么意思?看了小半天也没懂。谢谢。
module API
class Statuses < Grape::API
version 'v1'
desc 'Statuses.', {
params: API::Entities::Status.documentation
}
get '/statuses' do
statuses = Status.all
type = current_user.admin? ? :full : :default
present statuses, with: API::Entities::Status, type: type
end
end
end
文档地址:https://github.com/intridea/grape-entity/blob/master/README.md
le présent est similaire au rendu des rails
with consiste à spécifier quelle entité est utilisée pour traiter les données. Vous pouvez considérer Entity comme l'erb de json, qui fournit le modèle de json.
Quant au type, ce n'est pas un paramètre de présent, mais un paramètre personnalisé passé à Entity. Il sera transmis à l'intérieur d'Entity pour un certain traitement. Par exemple, pour décider si un certain attribut doit être affiché ou pour transmettre le bloc d'exposition en tant que paramètre
options
, veuillez vous référer au README https://github.com/intridea/grape-entity#conditional-exposure