Переменные, доступные в шаблонах Grails
Я пытаюсь отредактировать шаблон лесов Grails для создания отдельных полей в create.gsp и edit.gsp
Если я добавлю следующее в create.gsp
<%
def d = new grails.core.GrailsDomainClass (collegeapplication.Student.class)
d.persistentProperties.each {
%>
${it}
<%
}
%>
я получил unable to resolve class grails.core.GrailsDomainClass
В связи с этим я не могу загрузить какой-либо из моего класса домена, используя любой из общих методов, перечисленных в Groovy способ динамического создания экземпляра класса из String или в Получить имена полей класса домена
Есть идеи?
Конечный результат, который я хочу, вместо <f:all bean="parentsInfomormation"/>
Я хочу, чтобы команда генерировать все<f:field bean="person" property="name"/>
для каждого свойства
1 ответ
С scaffolding
плагин в Grails 3.x, невозможно сделать то, что вы пытаетесь достичь. При создании шаблонов для доменов плагин scaffolding не загружает ни один из классов домена, или вы можете сказать, что он не загружает приложение grails.
Плагин Scaffolding использует скрипты, сгенерированные create-script
генерировать шаблоны.
В Grails 3.x невозможно загрузить приложение Grails в скрипте генерации кода, созданном
create-script
команда.
Для получения дополнительной информации, прочитайте эту ссылку.
Итак, у вас есть два варианта:
- Создайте свою собственную задачу с использованием лесов
create-command
как объяснено в ссылке, приведенной выше. - Используйте плагин для лесов и расширяйте
FormFieldsTagLib
определить пользовательское поведение для<f:all bean=""/>
тег.