ruby/grape问题
PHP中文网
PHP中文网 2017-04-22 08:59:04
[Ruby讨论组]

想问一下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

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
迷茫
  • present 类似于 rails 的 render

    class XxxEntity
      expose foo
    end
    
    present value, with: XxxEntity
    // output:
    //   { foo: 'xxx' }
    
  • with 就是指定数据用哪一个 Entity 来处理,你可以把 Entity 看做 json 的 erb,他提供了 json 的模板。

  • 至于 type 不是 present 的参数,而是是传给 Entity 的自定义参数,会传递到 Entity 内部,做一些处理。例如决定某个属性需不需要显示,或者传给 expose 的 block 作为 options 参数,可参考 README https://github.com/intridea/grape-entity#conditional-exposure

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号