想问一下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
presentはrailsのrenderに似ています
リーリーwith は、データの処理に使用される Entity を指定することです。Entity は、json のテンプレートを提供する json の erb と考えることができます。
typeに関しては、現在のパラメータではなく、Entityに渡されるカスタムパラメータで、何らかの処理のためにEntity内部に渡されます。たとえば、特定の属性を表示する必要があるかどうかを決定したり、expose のブロックを
options
パラメータとして渡すには、README https://github.com/intridea/grape-entity#conditional-exposure