Khi sử dụng đối tượng lệnh có vẻ như tôi không nhận được tự động ràng buộc của các trường idgrails lệnh dữ liệu đối tượng liên kết của trường id
class somethingCommand {
int id
String A
String B
// some methods here like Domain.get(id)
}
My A và B chuỗi có được dữ liệu tự động một cách kỳ diệu binded từ các thuộc tính hình thức nhưng không phải id. Các "trường ẩn" khác của grails như phiên bản, dateCreated hoặc lastUpdated cũng bị ràng buộc chính xác.
giải pháp vá hiện tại của tôi là như sau: Tôi nghỉ mát để xác định một lĩnh vực id ẩn trong hình thức của tôi
<g:hiddenField name="blogId" value="${blog?.id}"/>
Và đổi tên id để blogId trong obect lệnh và làm việc.
Điều này dường như không phù hợp với sự thanh lịch của Grails. Tôi đang thiếu gì trong các quy tắc ràng buộc dữ liệu của đối tượng Command vs controller?
Được ID trước theo hình thức trước khi bạn thêm vào lĩnh vực ẩn? Nó có hoạt động với trường ẩn với tên = id không? Các thuật toán databinding sẽ cố gắng và kết hợp các lĩnh vực để tên tài sản - có lẽ có nhiều lĩnh vực id và nó đã nhầm lẫn? –
Làm cứng lên Stéphane ... :) –