g有一个奇怪的问题:复选框在切换时没有保存 一对多关系中的孩子。例如:
class Parent {
Boolean enabled
static hasMany = [children: Child]
static constraints = {
enabled(blank: true, nullable: true)
}
}
class Child {
Boolean enabled
static belongsTo = [parent: Parent]
static constraints = {
enabled(blank: true, nullable: true)
}
}
发布到父控制器的真/假值将适用于Parent:
<g:checkBox name="enabled" value="${parentInstance?.enabled}"/>
然而,不是为了孩子!发布到父控制器时,我只能 从假到真,试图再次从真假变为假 不工作:
<g:each in="${parentInstance.children}" status="i" var="child">
<g:checkBox name="child[${i}].enabled" value="${child?.enabled}" />
</g:each>
这似乎是个错误。有任何想法吗?感谢。
答案 0 :(得分:0)
这可能是通常的问题,未选中的复选框不会在请求中发送任何内容(它们不发送'关闭',它们只是不发送任何内容)
在更新操作中,尝试将所有子项设置为enabled = false,然后再应用表单参数