2011-07-25 25 views
2

我有一個域類簡單的字符串的集合,因爲它的成員添加一個陣列成員Grails的腳手架

class Customer { 
    String name; 

    static hasMany = [ aliases:String ] 

    static constraints = { 
     name blank:false 
    } 
} 

我想知道如果我可以添加別名Grails的腳手架呢?如果是這樣,怎麼樣?

謝謝,

回答

2

Grails不爲陣列做腳手架。 hasMany被設計爲與另一個域類一起使用,而不是一個變量。使用具有域類的hasMany將生成自動腳手架。例如,

class Customer { 
    String name; 
    static hasMany = [ aliases:Alias ] 
    static constraints = { 
        name blank:false 
    } 
} 
class Alias { 
    String alias; 
    static constraints = { 
        alias blank:false 
    } 
} 

這將創建兩個表,客戶和別名。將使用外鍵將別名表中的記錄與客戶相關聯。別名的集合將通過

alias[0].alias 

如果你必須使用一個數組,而不是你將不得不編寫自定義代碼的用戶界面的另一個域類的訪問。

+2

這或多或少是我懷疑的,雖然「hasMany被設計爲與另一個域類一起使用,而不是一個變量」有點強大,它確實支持這種集合,並創建了一個額外的表,建造相關的腳手架。假設在第二天沒有人出現,並且答案證明我們都錯了,我會接受這個答案。 –