2012-04-26 49 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保留爲空。

我使用Grails 2.0.3

回答

0

實際上與命令對象和列表的數據綁定不起作用。這裏有一個JIRA

0

我已經做了的關係沒有問題結合。

我不知道這是如何工作的。

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 – 2012-05-07 15:55:27