Grails JsonViews: передача переменных модели из действия с использованием response не заполняет модель в представлении gson - PullRequest
0 голосов
/ 18 января 2019

борется с кучей JsonViews и шаблонов и методом ответа контроллера.

окружение: Grails 3.3.9 / json views 1.2.10

для целей этого теста я настроил и URL-отображение, как это

get "/api/test2/$id"(controller:"test2", action:"thing")

тогда в моем контроллере на действие отвечает объект устройства d для рендеринга и карта модели, подобная этой

//test want this to call views/test2/thing.gson view
//i.e default is for controller method name to map to <methodname>.gson view
def thing (Device device) {

    if(device == null) {
        render status:404
    } else {
        Device d = device
        respond d, model:[devCount:1, thing: "will"]
    }
}

отправка переменных devCount и вещей в качестве переменных модели

в файле view.gson я добавил devCount и вещь в качестве переменных модели

//model receives the object returned from controller action
model {
    Integer devCount
    String thing
    Device device
}
json.will {
    hello "hello from thing.gson view", "some more", "and some more"
    world  'this world'
    deviceName device.name
    numberOfDevices devCount
    name thing
}

но когда это отображается в браузере, и devCount, и вещь отображаются как null

{"will":{"hello":["hello from thing.gson view","some more","and some more"],"world":"this world","deviceName":"ACME-HO-WAN1","numberOfDevices":null,"name":null}}

почему модель, отправленная для ответа, не отображается в переменных модели представления с тем же именем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...