У меня проблема с доступом к значениям полей в контроллере представления.Контроллер для представления записей ресурсов берет значение из раскрывающегося списка и устанавливает значение поля в зависимости от выбранного раскрывающегося списка.Это выглядит так:
// custom/modules/Resources/clients/base/views/record/record.js
({
initialize: function (options) {
this._super('initialize', [options]);
this.model.once("sync", this.assignOnChangeFunctions, this);
},
assignOnChangeFunctions: function () {
this.model.on('change:custom_rate', this.custom_rate_changed, this);
},
custom_rate_changed: function(){
console.log('project_manager_l2_rate_c: ' + this.model.get('project_manager_l2_rate_c'));
console.log('project_manager_l3_rate_c: ' + this.model.get('project_manager_l3_rate_c'));
switch(this.model.get('custom_rate')){
case 'Project Manager L2':
this.model.set('resource_rate_actual',this.model.get('project_manager_l2_rate_c'));
break;
case 'Project Manager L3':
this.model.set('resource_rate_actual',this.model.get('project_manager_l3_rate_c'));
break;
}
},
})
Контроллер для представления создания выглядит так же, как и выше, за исключением того, что он простирается от CreateView
и вместо this.model.once("sync", this.assignOnChangeFunctions, this)
у меня есть this.assignOnChangeFunctions
.Контроллер создания работает как положено.Но контроллер записи не может получить доступ к значениям полей project_manager_l2_rate_c
и project_manager_l3_rate_c
.Выходные данные из операторов console.log являются «неопределенными».Но я могу видеть значения этих полей в базе данных.Когда я пытаюсь получить доступ к другим полям в этой записи Resources
, результаты смешиваются.Некоторые поля доступны, а другие нет.Я не вижу шаблонов, к которым можно получить доступ к полям.Кажется, не имеет значения, находится ли поле в таблице resources
или resources_cstm
.Замена this.model.once("sync", this.assignOnChangeFunctions, this)
на this.assignOnChangeFunctions
не имеет значения.Что еще я могу попытаться устранить это?