Ember App Kitを使用しています。私は学生の名前を取るフォームがあり、私は問題なくデータベースにデータを保存することができます。問題は、別のページからこのルート(http://localhost:8000/#/students/new
)に戻ったときに、データ(学生名)がフォームに保持されていることです。私が画面をリフレッシュすると、データは消去され、新しいフォームが表示されます。私は間違って何をしていますか?Ember.js - レコードを保存した後にフォームデータを消去するにはどうすればよいですか?
また、レコードを保存したり追加したりしないで、生徒のリストを表示すると、空のレコードが画面に表示されます。そのレコードはデータベースにはありません。どうすればそれを防ぐことができますか?
//--------------------------------------------
// Controller
var StudentsNewController = Ember.ObjectController.extend({
init: function() {
var newSystem = this.store.createRecord('student');
this.set('newStudent', newStudent);
this._super();
},
actions: {
acceptChanges: function() {
var self = this;
self.get('newStudent').save().then(function(student){
self.transitionToRoute('students');
});
}
}
});
export default StudentsNewController;
//--------------------------------------------
// Model
var Student = DS.Model.extend({
name: DS.attr('string'),
major: DS.belongsTo('major')
});
export default Student;
//--------------------------------------------
// Template
<form {{action 'updateSystem' on="submit"}}>
<fieldset>
<div>
<label>Student Name</label>
{{input value=newStudent.name size="50"}}
</div>
<button {{action 'acceptChanges'}}>Add</button>
</fieldset>
</form>
フォーム内の情報は自動補完として保存されますか、フォーム入力に入力されたデータですか、「追加」をクリックするとその情報が追加されますか? – claptimes
ユーザは入力を入力する必要があり(自動補完なし)、「追加」をクリックして保存します。 – ACoder