Привязка данных дочерних объектов в контроллере Grails - PullRequest
1 голос
/ 03 января 2012

Я пытаюсь настроить объект javascript так, чтобы при привязке данных к новому объекту в контроллере связанные дочерние объекты в БД извлекались на основе поля id.Это задокументировано в привязке данных Spring следующим образом:

Привязка данных и ассоциации

Если у вас есть связь один-к-одному или многие-к-одному, вы можете использовать GrailsВозможность привязки данных, чтобы обновить эти отношения тоже.Например, если у вас есть входящий запрос, например:

/ book / save? Author.id = 20

Grails автоматически определит суффикс .id в параметре запроса и выполнит поискЭкземпляр автора для данного идентификатора при выполнении привязки данных, например:

def b = новая книга (params)

Я хочу опубликовать объект javascript на контроллере как полностью составленныйобъект с дочерними свойствами.Как настроить объект javascript таким образом, чтобы контроллер видел дочерние свойства объекта, как показано в следующем URL-адресе (то же, что задокументировано) /book/save?author.id=20?

Я пыталсяэто, но, похоже, не работает:

var childObject= function(name, id) {
                this.name = name;
                this.id = id;    
            };

var viewModel = {
    id: 1,
    child: new childObject("Chuck",1)
 }

Контроллер не видит 'child.id', когда viewModel публикуется в контроллере, и автоматически выбирает связанную запись.Я совершенно не в себе, думая, что это работает так?

Возможно, еще один способ спросить это, как я могу сериализовать объект javascript, чтобы его строковое представление было "object.property"?

1 Ответ

0 голосов
/ 04 января 2012

Создание объекта javascript как {child: {id: 1}} должно делать то, что вы пытаетесь достичь.Попробуйте что-то вроде этого, чтобы создать необходимый объект js

     var dataObj = {};
     var childObj = {};
     childObj['id'] = 1;
     dataObj['child'] =  childObj;
     return dataObj;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...