Grails эффективный hasMany-отношение во взгляде - PullRequest
0 голосов
/ 04 апреля 2010

Я сохраняю контакты (электронная почта, мобильный телефон, ICQ, AIM и т. Д.) Для таких людей, как:

class Person {
  static hasMany = {
    contacts: Contact
  }
}
class Contact {
  String code
  ContactType type
}
class ContactType {
  String name
}

На мой взгляд, я написал несколько шаблонов для отображения каждого контакта с полем выбора для типа контакта и текстовым полем для кода, приправленного некоторым JavaScript для добавления и удаления.

У меня вопрос: есть ли простой и элегантный способ обновить данные, подобные personInstance.properties = params, или мне нужно прочитать все поля, удалить удаленные, обновить измененные и добавить новые?

1 Ответ

0 голосов
/ 04 апреля 2010

Я изучал это некоторое время назад, но так и не смог изменить свой код, который обрабатывает параметры старомодным способом.

Согласно http://www.grails.org/Controllers+-+Data+Binding вы можете сделать что-то вроде этого

def person = new Person(params['person'])
def contact = new Contact(params['contact'])
def conctactType = new ContactType(params['contactType'])

до тех пор, пока параметры запроса правильно распределены по именам

person.contact.code
person.contact.type.name

Вам все равно придется выяснить, как обращаться с одним ко многим. Может быть, кто-то, кто знает, может скинуться.

Edit:

Наткнулся на этот документ, который описывает, как обращаться один ко многим. На основном сайте Grails не отображается:

http://svn.codehaus.org/grails/tags/GRAILS_DOCS_1_1/src/guide/6.1.6%20Data%20Binding.gdoc

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