0

Rails-4.2.7バックエンドJSONAPI-Resources-0.8.0.beta2 gemでEmber-2.6を使用します。

リソースを追加しようとするとinclude、ペイロードに返されても、Ember ストアに適切に格納されないことがあります。その後、それらのリソースに依存するコードが期待どおりに動作しないことが判明しました。

では、ペイロードにこれらすべての余分なリソースが含まれているのに、それらが最終的に Ember ストアにないのはなぜでしょうか? Ember Data が処理していないペイロードの要素があることを報告しないのはなぜですか?

4

1 に答える 1

1

私の Ember-Data モデル内の関係の宣言では、キャメル ケースの命名法を使用していましたが、ダッシュ化された宣言を使用する必要があることが判明しました。

例えば:

// Example Investment model (investment.js)
export default DS.Model.extend({
  // ...
  /**
   * The investment can have many transactions.
   */
  investmentTransactions: DS.hasMany('investmentTransactions'),
  // ...
});

...ほとんどの状況で問題なく動作します。ただし、クエリでデータをサイドロード ( include ) しようとすると:

store.findRecord('investment', someId, { include: 'investment-transactions' });

...すべての投資トランザクションと一緒に投資ペイロードを返しますが、私の Ember Data モデルはそれらのトランザクションを見ることができません。それを修正するために、私のhasMany宣言ではダッシュ化された名前を使用する必要がありました (これは、belongsToあなたが持っている可能性のある宣言にも当てはまります):

/**
 * The investment can have many transactions.
 */
investmentTransactions: DS.hasMany('investment-transactions'),
于 2016-09-16T14:48:14.843 に答える