2011-07-25 23 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被设计为与另一个域类一起使用,而不是一个变量”有点强大,它确实支持这种集合,并创建了一个额外的表,建造相关的脚手架。假设在第二天没有人出现,并且答案证明我们都错了,我会接受这个答案。 –