-3

デフォルトのgrails scaffoldを使用して、選択リストのドロップダウンとして「レベル」フィールドが0から5になるようにする最も簡単な方法、または最も効果的な方法は何ですか?

または、テンプレートをインストールしてカスタマイズする場合にのみ可能ですか。私はこれについて読みましたが、必要でない限りやりたくありません。

ドメインクラスは次のとおりです。

package treetester
class CustomerDivisionTreeNode {
    String name
    int level

    CustomerDivisionTreeNode parent

    static constraints = {
        parent(nullable: true)      
      }

    static hasMany = [children: CustomerDivisionTreeNode]
    static mappedBy = [children:'parent']   
}

これがコントローラークラスです

package treetester
class CustomerDivisionTreeNodeController {
    def scaffold = CustomerDivisionTreeNode     
}

私はドキュメントを読みました(http://grails.org/doc/latest/guide/scaffolding.html)あなたはこれを行うことができます...

inList 制約を使用すると、テキスト入力の代わりにジェネレーターにリストを生成させることもできます。

def Constraint = { title() category(inList: ["Fiction", "Non-fiction", "Biography"]) releaseDate() }

したがって、論理的には、次のようなものが必要であることがわかります。

level(inList:["0","1","2","3","4","5"])

しかし、それをどこに置いて機能させるのでしょうか?

4

1 に答える 1

0

したがって、答えは、ドメインの制約の最小オプションと最大オプションを見落としていたということです。GSPでそれを取得する方法は次のとおりです...

行レベル nullable: true, min: 1, max: 5 以下を参照してください...

class CustomerDivisionLevel {

Integer level
String levelName
Customer customer

static belongsTo = [Customer]

static mapping = {
    id generator: "assigned"
}

static constraints = {
    level nullable: true, min: 1, max: 5
    levelName nullable: true, maxSize: 45
}

}

于 2013-11-08T23:13:51.923 に答える