У меня есть составной объект домена следующим образом:
class Person
{
static embedded = ['forSale']
Boolean isSelling
House forSale
}
class House
{
Integer numBedrooms
}
У меня есть select control для numBedrooms следующим образом:
<tr class="prop">
<td valign="top" class="name">
<label for="numBedrooms"><g:message code="person.numBedrooms.label" default="Num Bedrooms" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: personInstance, field: 'forSale.numBedrooms', 'errors')}">
<g:select name="numBedrooms" value="${fieldValue(bean: personInstance, field: 'forSale.numBedrooms')}"
noSelection="${['null':'Select a number...']}"
from="${1..6}"
/>
</td>
</tr>
Обратите внимание, что я использую forSale.numBedrooms в fieldValue при выборе. Я не смог создать код для лесов, чтобы посмотреть, как это должно быть сделано, потому что представление представления, которое создается с помощью представлений create, не содержит ссылок на поля в объекте forSale House.
Я также не смог показать какие-либо примеры составных полей, доступных через GSP, так что это немного догадка. В любом случае страница GSP отображается без ошибок, хотя это может быть связано с тем, что я не смог сохранить данные.
Я посылаю значение numBedrooms обратно как часть строки запроса URl...
& numBedrooms = 2
Когда я это делаю, код сохранения в моем контроллере терпит неудачу - по крайней мере, ничто никогда не записывается в базу данных. Я включил ведение журнала отладки почти во всем, но я не получаю сообщений в журнале, которые предполагают, что что-то не так, хотя что-то очевидно.
Если я удалю параметр numBedrooms из строки запроса, то мое сохранение будет продолжаться как обычно, поэтому я предполагаю, что это связано с разрешением numBedrooms.
Любые подсказки, что я делаю неправильно, и что я могу сделать, чтобы отследить мою проблему?