Grails формируют привязку данных, когда на форму ссылается другой объект домена - PullRequest
1 голос
/ 15 сентября 2009

Как получить привязку данных Grails для правильной привязки ссылочных объектов (например, «Страна» в приведенном ниже примере)?

Учитывая следующие два класса домена Grails ..

class User {
  String username
  Country country
}

class Country {
  String name
}

.. и следующую HTML-форму ..

<g:form>

<g:textField name="user.username" value="${user.username}" />

<g:select name="user.country" from="${Country.list()}" optionKey="id" />

</g:form>

.. и следующий код в соответствующем действии ..

User user = new User(params["user"])

.. Я бы надеялся, что user.username и user.country получат привязку. Однако это выглядит так, как будто username.username получает привязку, а user.country - нет. Каков правильный синтаксис для привязки ссылочных объектов (в данном примере user.country)?

Ответы [ 2 ]

5 голосов
/ 15 сентября 2009

Привязка свойства "страна" начинает работать, если ..

<g:select name="user.country" from="${Country.list()}" optionKey="id" />

.. изменено на ..

<g:select name="user.country.id" from="${Country.list()}" optionKey="id" />
0 голосов
/ 22 сентября 2009

Вы также должны посмотреть на объекты команд. Они могут проверять и связывать все ваши параметры одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...