Tengo problemas para vincular la propiedad booleana en las clases de asociación. La propiedad está configurada en true si marcó la casilla de verificación (buena), pero es nula si checbox no está marcada.Casilla de verificación Grails
Conozco el problema con la casilla de verificación HTML. Sé por qué se envía "_fieldName" en params, pero este "_fieldName" no establece mi propiedad booleana en false.
class Person{
String title
List<Group> groups = new ArrayList()
static hasMany = [groups: Groups]
}
class Group{
String title
Boolean isHidden
static belongTo = Person
}
class PersonController{
def form = {
def person = new Person()
person.groups.add(new Group())
return ["person": person]
}
def handleForm = {
def person = new Person(params)
println person.groups[0]
}
}
<g:form action="save">
<g:textField name="title" value="${person?.title}" />
<g:textField name="groups[0].title" value="${person?.groups[0]?.title}"/>
<g:checkBox name="groups[0].isHidden" value="${person?.groups[0]?.isHidden}" />
<g:submitButton name="save" value="Save" />
</g:form>
Si puedo comprobar casilla:
[isHidden: sobre, título: una, _isHidden:]
person.groups println [0] // verdadera
Si yo no marque la casilla:
[título: a, _isHidden:]
person.groups println [0] // nula
Muchas gracias por la ayuda
Tom
Lo siento, busqué en esta web, pero no recibí la información real de mi problema.
Algunos códigos GSP pueden ser útiles aquí. –
Hola Scott, añado el código GSP. Gracias Tom –
Este error no ha sido parcheado en el Repos de Github Grails: https://github.com/grails/grails-core/blob/master/grails-plugin-gsp/src/main/groovy/org/codehaus/ groovy/grails/plugins/web/taglib/FormTagLib.groovy ¡Esto me estaba volviendo loco! –