更新:以下はEmber Data Relationshipに関するオリジナルの投稿で、EmberFireアダプターの問題に関連していると思われます。 Ember Dataのローカルstore
は適切に更新されているようですが、ストアが更新された後、これらのレコードは適切なFirebaseデータベースにプッシュされません。EmberFireのデータ関係が正しく更新されない
emberfireタグとfirebaseタグを追加して、そのコミュニティで回答が見つかるようにしました。どんな援助も感謝しています。私は必要に応じて追加情報を提供しています。
私はhasManyのとbelongsToの関係で定義されている2つのモデルがあります。ここで最初の「フレームワーク」のモデルである:
// -- Frameworks Model
import DS from 'ember-data';
const { attr, hasMany } = DS;
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
questions: { serialize: 'ids' }
}
});
export default DS.Model.extend({
name: attr('string'),
reports: hasMany('report'),
questions: hasMany('question', {async: true}),
includedFramework: attr('string'),
reportOnlyOnce: attr('string', { defaultValue: false }),
frameBuilder: attr('string', {defaultValue: "none"}),
createdAt: attr('string'),
createdBy: attr('string'),
updatedAt: attr('string'),
updatedBy: attr('string')
});
そして第二に「質問」モデル:私のルート上に
// -- Question Model
import DS from 'ember-data';
const { attr, hasMany, belongsTo } = DS;
export default DS.Model.extend({
framework: belongsTo('frameworks', {async: true}),
detail: attr('string'),
type: attr('string'),
createdAt: attr('string'),
createdBy: attr('string'),
position: attr('number'),
options: hasMany('option')
});
、私はモデルを定義する(この場合、フレームワークのモデルに引きテスト用ID):何らかの理由
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
let id = params.report_id;
var self = this;
return Ember.RSVP.hash({
report: this.store.find('report', id),
general: this.store.find('frameworks', '-KITSAxjdE5TiVdk-aPC')
})
}
});
、このフレームワークは、それに属するべきである6つの異なる「質問」の4を有している質問に格納された配列を有しています。なぜ私は4つのフレームワークモデルに格納されているのか、それらのうち2つは格納されていないのかわかりません。ページのための私のテンプレートで:
{{#each model.general.questions as |question|}}
{{#paper-item class="md-1-line"}}
<p class="question">
{{question.detail}}
</p>
<p class="option">
{{#if (eq question.type "text")}}
{{paper-input value=question.id onChange=(action (mut question.id))}}
{{/if}}
</p>
{{/paper-item}}
{{#each model.general.questions as |question|}}
は、実際にこのIDのためのフレームワークモデルに格納されている4つの質問のための素晴らしい作品が、他の2他の2つの質問は、belongsToの関係が参照していません正しいフレームワーク。
フレームワークモデルでシリアライザを追加しようとしましたが(上記のように)、変更はありませんでした。
私はまた、新しい質問を使用して作成されたときに、フレームワークストアに質問を追加し、手動で試してみました:どちらか
framework.get('questions').then(function(question) {
return question.pushObject(newQuestion);
})
それと変わりません。
ご迷惑をおかけして申し訳ありませんが、他の関連するコードスニペットも提供させていただきます。
:
問題は、この問題を解決する方法を調査し続けることがGitHubの上で提出されました – tstirrat