Я использую 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