ruby/grape問題
PHP中文网
PHP中文网 2017-04-22 08:59:04
0
1
785

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板