업데이트 : 다음은 EmberFire 어댑터 관련 문제 및 다양한 배열 레코드가 처리되는 것으로 생각되는 Ember 데이터 관계와 관련된 원래 게시물입니다. Ember Data에있는 로컬 store
이 적절하게 업데이트되고있는 것으로 보이지만, 저장소가 업데이트 된 후 해당 레코드가 적절한 Firebase 데이터베이스에 푸시되지 않습니다.EmberFire 데이터 관계가 올바르게 업데이트되지 않습니다.
필자는 해당 커뮤니티에서 답변을 찾기 위해 emberfire 및 firebase 태그를 추가했습니다. 도움을 주시면 감사하겠습니다. 필요에 따라 추가 정보를 제공해 드리겠습니다.
hasMany 및 belongsTo 관계로 정의 된 두 가지 모델이 있습니다. 모델을 정의하는이 경우
내 경로에// -- 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')
});
, 나는 프레임 워크의 모델에 당기 (:
// -- 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')
});
그리고 두 번째 "질문"모델 : 여기에 최초의 "프레임 워크"모델입니다 테스트 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. 다른 두 질문은 belongsTo를 관계가를 참조해야하지 올바른 프레임 워크.
프레임 워크 모델에서 serializer를 추가하려고했지만 (위에서 볼 수 있듯이) 변경 사항은 없었습니다. 그와 변화없이 하나
framework.get('questions').then(function(question) {
return question.pushObject(newQuestion);
})
하지만 : 새로운 질문으로 생성 될 때
내가 수동으로 프레임 워크 저장소에 질문을 추가 시도했다.
모든 의견을 환영합니다. 다른 관련 코드 스 니펫도 제공해 드리겠습니다.
:
문제로이 문제를 해결하는 방법에 대해 조사를 계속 GitHub의에 제출되었습니다 – tstirrat