2017-11-11 14 views
0

EDITEmber、関係、複数のコール

申し訳ありませんが、私のエンドポイントは正しくデータを通信しません。EMBERの問題ではありません。

私は、以下のモデルのルートを持っている:私はproduit.licencesをdisclayとき

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

それはproduitからすべてのライセンスを示しています。

私はすべての既存のライセンスのリストを取得するためにモデルを変更する場合:製品に追加することができるライセンスのリストを取得するには

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

を、私はproduit.licences内のすべてのライセンスで終わります。

なぜemberはそのように動作しますか?彼はメモリ内のすべてのライセンスが生産品にリンクされていると仮定していますか?

EDIT

licence.js中関係:produits: DS.hasMany('produit'),

produit.js中関係:licences: DS.hasMany('licence')

+0

定数allLicensesはどこで宣言していますか?あなたのEmberモデルがproduct.licensesをhasManyとして表示するのは間違いありませんか? license.productsをhasManyとして使用しますか? –

+0

はい、これは多対多の関係です。 – Syl

答えて

1

1.At一見、それはタイプミスのようproduitのように見えますが、その後、あなたがそれを使用していますそのように、どのようにそれを確認することもできます。

あなたはthis.modelFor('produits.edit')のようになり、他の場所ではthis.modelFor('products.edit')のようになっています。

    メソッドを使用する代わりに、メソッドを使用することはできません。
  1. this.modelFor('produits.edit').licences
 
    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のために私は製品にプロダクトを作り、質問して忘れました。 – Syl

+0

それは別の問題ですが、プロダクトの代わりにプロダクトのライセンスを返すと、#eachのビューでそれを反復することはできません。 – Syl