【发布时间】:2015-01-19 13:43:17
【问题描述】:
我有以下 grails 域类:
A {
belongsTo = [b: B]
}
B {
hasMany = [aClasses: A]
}
在 GSP 视图中,我有一个表单,用户可以在其中选择许多 A 实例以将它们与 B 实例连接。当用户提交表单时,处理表单的控制器会收到如下信息:
params: [aClasses: [123,124]]
用户可能已经从 B 中删除了之前添加的 aClasses,所以我尝试先清除 B 的 aClasses,然后执行 addTo,但我得到了 java.util.ConcurrentModificationException。
这是我在控制器操作中所做的:
def update() {
B b = B.get(params.id)
b.properties = params
b.aClasses.clear()
def newAs = params.aClassIds ? [] + params.aClasses : []
newAs.each {
A a = A.get(it)
b.addToAClasses(a)
}
b.save(flush: true)
}
有没有办法让它工作?
【问题讨论】:
标签: grails grails-2.0