2017-11-11 172 views
0

编辑灰烬,关系和多个电话

对不起,我的端点没有正确地传递数据,它不是一个EMBER问题。

我有以下型号的路线:

model() { 
const produit= this.modelFor('produits.edit'); 
return Ember.RSVP.hash({ 
    produit: produit 
}); 
}, 

当我disclay produit.licences它显示了所有从produit许可证。

如果我修改模型来获取所有现有的许可证列表:

model() { 
    const produit = this.modelFor('produits.edit'); 
    const allLicences = this.get('store').findAll('licence'); 
    return Ember.RSVP.hash({ 
     produit: produit , 
     allLicences 
    }); 
    } 

要查看可被添加到该产品的许可证列表,我结束了在produit.licences所有许可。

为什么余烬会这样? Des他认为内存中的每个许可都与产品相关联?

编辑

中licence.js关系:produits: DS.hasMany('produit'),

在produit.js的关系:licences: DS.hasMany('licence')

+0

你在哪里声明常量allLicenses?我是对的,你的Ember模型显示product.licenses为hasMany?和license.products has hasMany? –

+0

是的,它是一个多对多的关系。 – Syl

回答

1

1.At看起来像produit错字但你正在使用它乍一看就像那样,你也可以验证。

在一个地方,你得到它像this.modelFor('produits.edit')和在其他地方你得到像这样this.modelFor('products.edit')

  1. this.modelFor('produits.edit').licences而不是你总是可以使用get方法来提供属性。
 
    model() { 
     const produitLicences = this.modelFor('produits.edit').get('licences'); 
     const allLicences = this.get('store').findAll('licence'); 
     return Ember.RSVP.hash({ 
      produitLicences: produitLicences, 
      allLicences 
     }); 
     } 
+0

对于1我翻译成produit产品问问题,并忘记了它。 – Syl

+0

这是另一个问题,但如果我返回produit的许可证而不是produit,那么我无法在#each的视图中迭代它。 – Syl