2015-06-24 4 views
0

Это должна быть довольно простая проблема, но я не могу понять, почему мои данные сохраняются как null или undefined. Я попробовал несколько адаптеров, разные базы данных и несколько методов из учебных пособий и сообщений в блогах, а все данные сохраняются как «null» или «undefined».Данные модели сохраняют как неопределенные или нулевые

Фон: Ember 1.13.2 Ember-data 1.13.4. Я пытаюсь не использовать контроллеры, но понимаю, что, возможно, придется до тех пор, пока не будут задействованы компоненты маршрутизации.

Итак: /app/models/person.js

import DS from 'ember-data'; 
export default DS.Model.extend({ 

    firstName: DS.attr('string'), 
    lastName: DS.attr('string') 
}); 

Тогда у меня есть стручок .../приложение/стручки/чел.

Так /app/pods/person/route.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 

model() { 
    return this.store.findAll('person'); 
}, 

actions: { 

    create() { 
    var newPerson = this.store.createRecord('person'); 
    newPerson.save(); 

} } }); 

И /app/pods/person/template.hbs

{{input value=model.firstName}} 
{{input value=model.lastName}} 

<button {{action "create"}}> Create </button> 

Таким образом, данные поступают на вход, и если Я делаю {{model.firstName}} Я вижу, что он привязывается прямо к экрану. Просто, когда я нажимаю «create», чтобы попытаться сохранить его, ember-data сохраняет оба поля как «null» или «undefined». Любая идея почему?

+0

Вы создаете человека без имени или фамилии - чего вы ожидали? Попробуйте 'this.store.createRecord ('person', {firstName: 'John', lastName: 'Doe'})'. –

+0

Ну, цель заключалась в том, что хелпер {{input}} будет подавать данные. – brianmbutler

ответ

0

Вам необходимо назначить значения модели (привязанные к входам) к новой записи. Передайте объект как второй параметр createRecord().

var model = this.get('model'); 

var newPerson = this.store.createRecord('person', { 
    firstName: model.get('firstName'), 
    lastName: model.get('lastName') 
}); 

См. this post для более длительного примера.

Смежные вопросы