2

メンバーの1つとして単純な文字列のコレクションを持つドメインクラスがあります

class Customer {
    String name;

    static hasMany = [ aliases:String ]

    static constraints = {
        name blank:false
    }
}

grails の足場にエイリアスを追加できるかどうか疑問に思っていますか? もしそうなら、どのように?

ありがとう、

4

1 に答える 1

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
    }
}

これにより、customer と alias の 2 つのテーブルが作成されます。外部キーは、別名テーブル内のレコードを顧客に関連付けるために使用されます。エイリアスのコレクションには、

alias[0].alias

別のドメイン クラスの代わりに配列を使用する必要がある場合は、ユーザー インターフェイスのカスタム コードを記述する必要があります。

于 2011-07-25T13:10:40.257 に答える