2010-04-03 76 views
0

我節省的聯繫人(電子郵件,移動電話,ICQ,AIM等),對人是這樣:Grails的高效的hasMany-關係視圖

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

在我看來,我已經寫了一些模板用聯繫人類型的選擇框和代碼文本框顯示每個聯繫人,並添加一些用於添加和刪除的JavaScript。

我的問題是:是否有一個簡單和優雅的方式來更新數據類似personInstance.properties = params或我必須讀出所有的領域,刪除刪除,更新更改和添加新的?

回答

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

+0

謝謝,這是我一直在尋找。 當前文檔可以在這裏找到: http://www.grails.org/doc/1.2.x/guide/6.%20The%20Web%20Layer.html#6.1.6%20Data%20Binding – Jan 2010-04-04 18:34:14