私はこれらのドメインを持っています:
class ChildPlacementFile{
.....
static hasMany = [children : Client]
static belongsTo = [father : Client, mother: Client]
Client child
...other fields etc.
}
class Client{
String firstName
String lastName
....etc etc.
}
クライアントから、フォームに複数の保存を許可するように依頼されました。というわけでこんな感じのサービスを作りました。
def saveChildren(ChildPlacementFile childPlacementFileInstance, params){
def childrenList = []
def errorList = []
params.rowId = [params.rowId].flatten()
params.child = [params.child].flatten()
params.rowId.eachWithIndex {child, i ->
Client childInstance = Client.get(params.child[i])
if(childInstance){
childrenList.add(childInstance)
childPlacementFileInstance?.addToChildren(childInstance).save()
}else{
errorList.add(childInstance)
}
}
[errors: errorList, children:childrenList]
}
コントローラーで確認しようとすると、子はsave()メソッド[childPlacementFileInstance.?children]に保存されているようですが、show()メソッドにリダイレクトすると[childPlacementFileInstance.?children]は保存されませんもう現れない、それは空だ。どうして??O_O
エラーも例外もありませんでした。だから私はそれがうまくいくと思っていましたが、そうではありませんでした。:(