2016-01-03 5 views
1

Я пытаюсь изменить Grails шаблон строительных лесов для создания отдельных полей в create.gsp и edit.gspПеременные, доступные в шаблонах Grails

Если добавить следующее create.gsp

<% 
     def d = new grails.core.GrailsDomainClass (collegeapplication.Student.class) 
     d.persistentProperties.each { 
      %> 
    ${it} 
    <% 
     } 
    %> 

я unable to resolve class grails.core.GrailsDomainClass в этом отношении я не могу загрузить любой из моего класса домена с помощью любого из распространенных методов, перечисленных в Groovy way to dynamically instantiate a class from String или Get domain class field names

A Какие идеи?

Конечный результат я хочу вместо <f:all bean="parentsInfomormation"/> Я хочу к генерации-все команды для генерации <f:field bean="person" property="name"/> для каждого свойства

+0

Почему бы вам не попробовать 'def domainClass = grailsApplication.getDomainClass (collegeapplication.Student.class)'? –

+0

@VinayPrajapati Как я могу получить экземпляр grailsApplication? Я не думаю, что он будет доступен в любом случае при запуске команды generate-all. – Sap

+0

вы получите его по умолчанию на странице gsp. На шаблонах вы можете использовать его без каких-либо проблем. Попробуйте или если вам нужно полное решение, я могу вставить его в качестве ответа. :) –

ответ

1

С scaffolding плагин в Grails 3.x, это невозможно сделать то, что вы пытаются достичь. При создании шаблонов для доменов плагин scaffolding не загружает ни один из классов домена, или вы можете сказать, что он не загружает приложение grails.

Плагин для строительных лесов использует сценарии, созданные create-script для создания шаблонов.

В Grails 3.x не удается загрузить приложение Grails в генерации сценария кода, созданного командой create-script.

Для получения дополнительной информации, ознакомьтесь с этим link.

Так у вас есть два варианта:

  1. Создать собственную задачу люльки с помощью create-command, как объяснено в ссылке, приведенной выше.
  2. Используйте плагин для лесов и продолжайте FormFieldsTagLib, чтобы определить настраиваемое поведение для тега <f:all bean=""/>.
Смежные вопросы