2012-04-26 3 views
0

私のようなドメインクラスがある場合:Grailsコマンドバインディング - リレーションを持つドメインクラス - 可能ですか?

class A { 
short aCode 
//... 
static hasMany = [bs : B] 
static mapping = { 
    id column: 'a_code' name: 'aCode' 
} 
} 

class B { 
    long bCode 
    static belongsTo = [a: A] 
    id column: 'b_code' name: 'bCode' 
} 

とコマンドでBクラスを使用しよう:

class SomeCommand { 
    List<B> bs = ListUtils.lazyList([], FactoryUtils.instantiateFactory(B)) 
} 

をACODEための私の入力は次のようになります。

<input type='text' name='bs[0].a.aCode' /> 

なぜこれをgrailsコントローラにバインドされていませんか? command.bs[0].aはバインディング後もnullのままです。私は問題はないとの結合関係を行っている

答えて

0

実際には、コマンドオブジェクトとリストによるデータバインディングは機能しません。これにはJIRAがあります。

0

のGrails 2.0.3を使用してい

これはどういう仕組みかわかりません。

class SomeCommand { 
    List<B> bs = ListUtils.lazyList([], FactoryUtils.instantiateFactory(B)) 
} 

<input type='text' name='bs[0].a.aCode' /> 

、A(親)は、多くのB(子供)を有し、BはA.

などに属しています。 Aは10Bs(bs [0]〜bs [9])を持っています 私はいつも入力をバインドするためにこのようなものを使うことができます。

<input type="text" name="a.aCode" /> 

<input type="text" name="bs[0].bCode" /> 
<input type="text" name="bs[1].bCode" /> 
.... 
.... 

子(B)から親(A)にデータをバインドする方法がわかりません。

+0

あなたの例と同様に、私はBのAを手作業でバインドしています。Grailsのメールリストからの人たちは、このためにJIRAを指摘しました:http://jira.grails.org/browse/GRAILS-5582 –

関連する問題