0

我正在为这样的人保存联系人(电子邮件、手机、ICQ、AIM 等):

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

在我看来,我已经编写了一些模板来显示每个联系人,其中包含联系人类型的选择框和代码的文本字段,并添加了一些用于添加和删除的 JavaScript。

我的问题是:是否有一种简单而优雅的方法来更新类似于personInstance.properties = params或我必须读出所有字段、删除删除、更新更改和添加新字段的数据?

4

1 回答 1

0

前段时间我正在研究这个问题,但从来没有重构我们以老式方式处理参数的代码。

根据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

您仍然需要了解如何处理一对多。也许知道的人可以插手。

编辑:

遇到这个描述如何处理一对多的文档。它没有出现在主 grails 站点上:

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

于 2010-04-03T21:55:08.310 回答