【问题标题】:ember-data mappings for sideloading revision 11用于侧载修订版 11 的 ember-data 映射
【发布时间】:2013-01-10 10:29:17
【问题描述】:

关于侧载,到修订版 11 ember-data 的映射发生了什么变化?

我有以下 2 个模型类:

WZ.Exercise = WZ.Model.extend
  name: DS.attr 'string'
  description: DS.attr 'string'
  group: DS.belongsTo('WZ.Group', {key: 'groups'})  #I don't think the key does anything

WZ.Group = WZ.Model.extend
  name: DS.attr 'string'
  exercises: DS.hasMany('WZ.Exercise')

以前我在适配器上有一个映射属性,它似乎不再做任何事情:

WZ.Store = DS.Store.extend
  revision: 11
  adapter: DS.RESTAdapter.create
    bulkCommit: false
    mappings:
      groups: WZ.Group

旁加载代码期望旁加载的根 json 属性与属性名称相同:

for (var prop in json) {
  if (!json.hasOwnProperty(prop)) { continue; }
  if (prop === root) { continue; }
  if (prop === this.configOption(type, 'meta')) { continue; }

  sideloadedType = type.typeForRelationship(prop);

无论如何,我认为无法解决这个问题。要么 json 处于代码预期的状态,要么它不会工作。

【问题讨论】:

    标签: ember-data


    【解决方案1】:

    这就是我侧载数据的方式:

    DS.RESTAdapter.configure('App.Groups', {
        sideloadAs: 'groups'
    });
    
    App.Store = DS.Store.extend({   
        revision: 11,
        adapter: DS.RESTAdapter.create({})   
    });
    

    【讨论】:

    【解决方案2】:

    我遇到了类似的问题,并在 ember_data_example 项目中找到了为我解决的映射。在我的例子中,ticketEntries: hasMany('App.TicketEntry') 没有加载。

    // 准备我们的全局 Ember 数据“存储” App.RESTSerializer = DS.RESTSerializer.extend({ 初始化:函数(){ this._super(); this.map('App.Ticket', { 创建者:{嵌入:'always'}, ticketEntries:{嵌入:'always'} }); } }); App.Adapter = DS.RESTAdapter.extend({ 批量提交:假, 序列化器:App.RESTSerializer.create() }); App.Store = DS.Store.extend({ 修订:11, 适配器:App.Adapter.create() }); App.store = App.Store.create( );

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多