Не удается установить флажок g: для ребенка в отношениях один ко многим - PullRequest
1 голос
/ 22 апреля 2010

Получил странную проблему с тем, что флажок 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)
 }

}

Публикация в родительский контроллер значения true / false будут работать для Parent:

<g:checkBox name="enabled"  value="${parentInstance?.enabled}"/>

Однако, не для Child!При публикации в родительский контроллер я могу перейти только от ложного к истинному, попытка изменить истинное на ложное снова не будет работать:

<g:each in="${parentInstance.children}" status="i" var="child">
 <g:checkBox name="child[${i}].enabled" value="${child?.enabled}"  />
</g:each>

Это похоже на ошибку.Есть идеи?Благодаря.

1 Ответ

0 голосов
/ 22 апреля 2010

Вероятно, это обычная проблема, когда непроверенные флажки ничего не отправляют в запросе (они не отправляют 'off', они просто ничего не отправляют)

В своем действии обновления попробуйте установить для всех дочерних элементов значение enabled = false, прежде чем применять параметры формы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...