Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 在Ember.js中使用多个数据源_Model View Controller_Ember.js_Ember Data - Fatal编程技术网

Model view controller 在Ember.js中使用多个数据源

Model view controller 在Ember.js中使用多个数据源,model-view-controller,ember.js,ember-data,Model View Controller,Ember.js,Ember Data,所以我一直在努力建立一个应用程序,现在我想使用它自己的数据适配器集成一个第三方API。我希望以最可重用的方式进行此操作,因此我已使用正确的型号coffeescript注册了此适配器警告: 然而,这里的事情变得棘手:我想根据用户模型上设置的两个属性进行查找: App.User = DS.Model.extend workauths: DS.hasMany 'App.Workauth' token: DS.attr 'string' ldap: DS.attr 'string' 通过

所以我一直在努力建立一个应用程序,现在我想使用它自己的数据适配器集成一个第三方API。我希望以最可重用的方式进行此操作,因此我已使用正确的型号coffeescript注册了此适配器警告:

然而,这里的事情变得棘手:我想根据用户模型上设置的两个属性进行查找:

App.User = DS.Model.extend
  workauths: DS.hasMany 'App.Workauth'
  token: DS.attr 'string'
  ldap: DS.attr 'string'

通过令牌和ldap,我们可以发出API请求,Workauths的适配器如下所示:

DS.GUTSAdapter = DS.Adapter.extend Ember.Evented,

  findWorkauths: (user, name, process) ->
    token = worker.token
    ldap = "#{ user.ldap }"
    $.getJSON url, \
          ldap_username: ldap, \
          ldap_auth_token: token, \
      (data, status, jqxhr)->
        workauths=( \
          gutsId:workauth.work_auth_id, \
          name:workauth.work_auth_name, \
          hours:workauth.work_auth_hours, \
          due:workauth.work_auth_due_date \
          for workauth in data).unique gutsId
        process(workauths).load()
如果存在这些绑定,它不应该像在我的模板中为User.Workauths{{{render'Workauths/index'}创建一个出口那样简单吗?理想情况下,我认为它会在渲染时使用用户令牌和父视图中的ldap进行查找

提前谢谢

App.Workauth = DS.Model.extend
  worker: DS.belongsTo 'App.User'
DS.GUTSAdapter = DS.Adapter.extend Ember.Evented,

  findWorkauths: (user, name, process) ->
    token = worker.token
    ldap = "#{ user.ldap }"
    $.getJSON url, \
          ldap_username: ldap, \
          ldap_auth_token: token, \
      (data, status, jqxhr)->
        workauths=( \
          gutsId:workauth.work_auth_id, \
          name:workauth.work_auth_name, \
          hours:workauth.work_auth_hours, \
          due:workauth.work_auth_due_date \
          for workauth in data).unique gutsId
        process(workauths).load()