Шаблон Grails для повторного использования шаблона при ошибке - PullRequest
1 голос
/ 13 мая 2010

У меня есть шаблон gsp, где данные для создания представления передаются через контроллер.

def create = {
    def bookInstance = new Book()
bookInstance .properties = params
def map = getDefaultValues()
render(template: "create", model: [bookInstance : bookInstance ,
            title: map.title,
            somelist: somelist
            ....])

шаблон gsp

 <g:select optionKey="id" from="${somelist}" name="somelist.id" value="${bookInstance ?.somelist?.id}" noSelection="['null': '']"></g:select>

теперь, в методе save, если есть ошибка, он возвращает текущий заполненный и проверенный экземпляр (реализация скаффолда по умолчанию)

render(template: "create", model: [bookInstance : bookInstance ])

Но поля в gsp (страница ошибки, отображаемая из действия сохранения) пуста. Я мог видеть причину, поскольку она выглядит как значение в "${somelist}", но оно не используется в методе сохранения. Нужно ли мне просто проверять наличие нуля в gsp и использовать любую доступную карту или любой другой лучший метод (передача всей карты в методе сохранения не вариант) ..
заранее спасибо ..

1 Ответ

1 голос
/ 13 мая 2010

Я понял это ... Я должен передать ту же карту, что была в замыкании создания ... причина, по которой мы передавали карты в создании, заключается в том, что мы хотели переопределить список по умолчанию ... заполненные значения в bookInstance используется только для сохранения выбора пользователя, но не для всех значений.

...