Grails: Как выбрать из списка ранее созданных объектов в моем представлении? - PullRequest
0 голосов
/ 10 октября 2018

Допустим, у меня есть следующие классы:

package test

class Person {
    String name

    static hasMany = [stuff:Stuff]

    static constraints = {
    }
}

и пакетный тест

class Stuff {
    String stuff

    static belongsTo = Person

    static constraints = {
    }
}

Когда я реализую представление для лица, я хочу иметь возможность выбирать из спискаранее созданные вещи.Как мне этого добиться?Я вижу, что когда я использую строительные леса, Grails создает это выпадающее меню, где я могу это сделать, но, поскольку я разрабатываю свои собственные представления, я хотел бы понять, как это делается.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Вероятно, неплохо бы начать с просмотра документации по тегу select здесь: https://gsp.grails.org/latest/ref/Tags/select.html

Простой пример представления списка всех вещей выглядит следующим образом:

<g:select name="stuffSelect" from="${Stuff.list()}" optionKey="id" optionValue="stuff"/>

Thisдолжен дать вам выпадающий список всех Stuff в вашей базе данных, отображая значение String для пользователя, но отправляя идентификатор БД при отправке формы.

0 голосов
/ 10 октября 2018

Я почти уверен, что вы можете использовать команду generate-all в grails, чтобы увидеть, как выглядит код скаффолдинга: http://docs.grails.org/3.1.1/ref/Command%20Line/generate-all.html

Использование этой команды должно генерировать контроллеры, представления и т. Д., Чтобы вы моглиможно увидеть, как работает код скаффолда.Не беспокойтесь о возможности вернуться к сгенерированному коду скаффолда, просто удалите материал, созданный generate-all, и Grails автоматически сгенерирует его во время выполнения, как сейчас.

...