2013-09-18 8 views
0

Привет, ребята, кто-нибудь может пролить свет на то, как это сделать.Extjs: перезаписать объекты в записи, готовой сэкономить

У меня есть объект userRecord с различными подобъектами в том числе таких вещей, как их навыки наборы, контракты и т.д.

я получаю запись, запрашивая магазин идента, как показано ниже.

var userRecord = userStore.findRecord ('id', userId);

Далее У меня есть множество форм с флажками в tabpanel, относящихся к каждому из подэлементов пользователя, например. Навыки и контракты. Я пытаюсь перезаписать их на userRecord с массивом на флажках, которые были проверены.

var skillsetCheckBoxes = skillsetPanel.query('checkboxfield[checked=true]'); 
var skillsets = new Array(); 
Ext.each(skillsetCheckBoxes, function (skillset) 
{ 
    console.log(skillset); 
    skillsets.push(skillset); 
}); 

Я попытался установить объект SKILLSET инженера в userRecord, чтобы быть новый массив:

userRecord.set(('engineer').skillsets, skillsets); 

Но когда я вхожу запись после выполнения этого он по-прежнему та же самая запись, которую я получил из findRecord() без редактирования полей.

Любая помощь очень понравилась,

Спасибо!

ответ

0

Трудно сказать, не зная структуру вашей модели, но ваша линия явно ошибается. Вы используете ('engineer').skillsets в качестве ключевого аргумента для метода set. Поскольку это не строка, а массив, это не принесет ничего хорошего.

Ваша линия должна скорее быть что-то вроде этого:

// You should probably test that there is something in there, or the 
// next line could crash... 
var engineer = userRecord.get('engineer'); 
if (engineer) { 
    userRecord.get('engineer').skillsets = skillsets; 
} 
Смежные вопросы