Tôi gặp rắc rối với việc ràng buộc thuộc tính Boolean trong các lớp kết hợp. Thuộc tính được đặt thành đúng nếu tôi chọn hộp kiểm (tốt), nhưng là null nếu checbox không được chọn.Grails checkbox
Tôi biết sự cố với hộp kiểm HTML. Tôi biết tại sao gửi "_fieldName" trong thông số, nhưng "_fieldName" này không đặt thuộc tính boolean của tôi thành 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>
Nếu tôi kiểm tra hộp kiểm:
[Được ẩn: trên, tiêu đề: a, _isHidden:]
person.groups println [0] // true
Nếu tôi không kiểm tra hộp kiểm:
[title: a, _isHidden:]
person.groups println [0] // rỗng
Cảm ơn rất nhiều sự giúp đỡ
Tom
Tôi rất tiếc, tôi đã tìm kiếm trên web này nhưng không nhận được thông tin thực sự về sự cố của tôi.
Một số mã GSP có thể hữu ích ở đây. –
Xin chào, tôi đã thêm mã GSP. Cảm ơn Tom –
Lỗi này chưa được vá trên repils 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 điều này đã khiến tôi phát điên! –