propertyName null в _widget.gsp (grails 3.3.8) - PullRequest
0 голосов
/ 20 февраля 2019

Поскольку использование доменов с java.sql.Date не работает (при вводе указывается, что свойство issueDate не соответствует типу, на дисплее отображаются время и tz, которые нельзя переопределить, поскольку создается / grails-app / views / _fields / class / propertyName /для java.sql.Date приводит к grails-app / views / _fields / date / propertyName /, который, к сожалению, также отменяет отображение java.util.Date и т. д., мы пытались получить рабочий интерфейс для java.time.Local,но столкнулись с проблемой. См. также билет на github

Сначала, чтобы получить средство выбора даты, мы попытались поместить это в /grails-app/views/_fields/localDate/_widget.gsp:

  <g:datePicker name="${propertyName}"  precision="day" value="${new Date()}"
          noSelection="['':'-Choose-']"/>

Однако в сгенерированном html мы видим это:

<label for='issueDate'>Issue Date</label><input type="hidden" name="null" value="date.struct" />
<select name="null_day" id="null_day" aria-labelledby="null">
<option value="" selected="selected">-Choose-</option>
  <option value="1">1</option>
  <option value="2">2</option>

Проблема в том, что name = "null_day" должно быть name = "issueDate_day" и т. Д.,

если наш объект домена выглядел следующим образом:

класс Document {Пользователь пользователя DocumentType documentType Строка documentNumber Страна countryOfIssue Строканула*

мы должны увидеть

<select name="issueDate_day" id="null_day" aria-labelledby="null">

и т. Д.

Если мы жестко закодируем одно из имен свойств в виджете, оно «работает» (но, очевидно,это не решение).например,

  <g:datePicker name="issueDate"  precision="day" value="${new Date()}"
          noSelection="['':'-Choose-']"/>

Обратите внимание, контроллер этого домена просто находится в лесах, то есть:

class DocumentController{
  static scaffold=Document
}

Нет созданных представлений, но проблема та же, без явных представлений.

Есть предложения?

...