2011-01-31 8 views
0

表示されるフィールドの番号を挿入しようとすることは、私が定義したドメインクラスです:問題は、選択 - ドロップダウンリストにテキストとしてここ

mypackageパッケージ

パブリック列挙UFModeType { I(0 )、 O(1)、 R(3)

Integer mode 
public UserFileModeType(Integer mode) { 
    this.mode = mode; 
} 
static list() { 
    [I, O, R] 
} 

}

これはの特性であります次のようにそれは、他のドメインの親:

mypackageパッケージ クラスの親{ 文字列名 ... ... ... UFModeType uFMode

static mapping = { 
    table 'parent_table_with_ufMode_col_as_number' 
    version false 
    tablePerHierarchy false 
    id generator:'sequence', params:[sequence:'myseq'] 
    columns { 
     id column:'parentid' 
     uFMode column: 'UFMODE' 
    } 
} 

static constraints = { 
    userFileMode(nullable: true) 
} 

}

GSPコールこれは次のようになります: g:select "$ {mypackage.UFModeType?.list()}" value = "$ {parentInstance?uFMode?.name()}"/

からの選択名= "uFMode"

私はgsp呼び出しで上記のバリエーションをたくさん試しましたが、DB挿入がufmodeのエントリが無効な番号であるというエラーを受け取りました。したがって、これは数値として渡されません。 Params in save = [uFMode:I ...

私は文法でいくつかの小さなことを忘れているかもしれないが、私は多くのことを試してきたと確信しているあまりの成功なしに、どんな入力も非常に高く評価されるでしょう。

ありがとうございます!

+0

'save()'を実行するコードは何ですか?それは 'Parent p = new p()のようなものですか? p.properties = params; p.save() '? –

答えて

0

はあなたがname属性を持っていない与えるUFModeTypeの定義から

value="${parentInstance?.uFMode?.mode()} 

value="${parentInstance?.uFMode?.name()} 

を変更してみてください。

+0

Paulに感謝しますが、私はすでにそれを試みました、それは同じエラーを与えます。 –

関連する問題