ルートの場合は、このようなものが必要です。 Ember.RSVP.hashを使用すると、モデルから1-nのプロパティを返すことができます。
export default Ember.Route.extend({
model() {
const store = this.get('store');
return Ember.RSVP.hash({
students: Ember.A([
store.createRecord('student', { name: 'Vanessa'})
]),
someOtherModelThing: store.find('xx')
})
}
});
テンプレートには、このようなものが必要です。
{{input type="text" value=name}}
<button class="btn btn-default" {{action "addNewStudent" name}}>Add</button>
さらに、addNewStudentを処理するには、コントローラにアクションを記述する必要があります。
...
actions: {
addNewStudent(studentName) {
const store = this.get('store');
var newStudent = store.createRecord('student', {name: studentName});
this.get('model.students').pushObject(newStudent);
}
}
...
また、保存する予定がある場合は、「saveStudents」というアクションを含む保存ボタンが必要な場合があります。
saveStudents: function() {
return Ember.RSVP.all(this.get('model.students').invoke('save'))
}
テンプレート内の学生のリストを表示します。
{{#each model.students as |student|}}
<p> {{student.name}}
{{/each}}
このすべては、ember-data(store.createRecordなど)を使用せずに達成できます。プレーンなJSONとAjaxを使用してデータを保存します。
'add-student'アクションをコントローラに書いてください。' this.get( 'model')。pushObject(something) 'があります。 –