Ho problemi con la proprietà booleana di associazione nelle classi di associazione. La proprietà è impostata su true se spunta la casella di controllo (buona), ma è null se la casella di controllo non è selezionata.casella di controllo Grails
Conosco il problema con la casella di controllo HTML. So perché viene inviato "_fieldName" in params, ma questo "_fieldName" non imposta la proprietà booleana su false 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>
Se controllo casella di controllo:
[isHidden: il, titolo: una, _isHidden:]
person.groups println [0] // vero
Se assegno casella I don:
[titolo: a, _isHidden:]
person.groups println [0] // nullo
Grazie mille per l'aiuto
Tom
Mi dispiace, ho cercato su questo sito, ma non ho ricevuto informazioni reali per il mio problema.
Alcuni codici GSP potrebbero essere utili qui. –
Ciao Scott, aggiungo il codice GSP. Grazie Tom –
Questo errore non è stato corretto sul repository github di Grails: https://github.com/grails/grails-core/blob/master/grails-plugin-gsp/src/main/groovy/org/codehaus/ groovy/grails/plugins/web/taglib/FormTagLib.groovy questo mi stava facendo impazzire !! –