저는 현재 자바 애플리케이션 코드를 웹 애플리케이션으로 옮기는 작업을하고 있습니다. 이 작업을 위해 grails를 사용하기로했습니다. (저는 이미 grails에서 몇 가지 간단한 응용 프로그램을 개발했으며 잘 작동했습니다.)hasmany 도메인을 사용하여 도메인을 편집하고 커밋하는 방법
그러나 한 가지 문제가 있지만 심각한 문제가 있습니다.
와 도메인 모델을주기 : 나는 "belongsTo를"설정을 사용하기 때문에 :
고객이 접촉
편집을 해결하기 위해 속하는 많은 연락처
를 주소 고객에 속하는 많은 주소
을 가지고있다 계단식 저장은 문제가되지 않을 것입니다 (제 생각에는).
내가 원하는 것 : 고객을 만드는 동안 몇 가지 주소를 첨부 할 가능성이 있으며 거기에 몇 개의 연락처를 추가해야합니다. 고객보기에서 저장 버튼을 누른 후에는 모두 데이터베이스에 커밋해야합니다. (고객 편집과 동일합니다 ...)
현재 동작 : 기본 컨트롤러 및 뷰를 사용하려면 먼저 고객을 커밋해야하며 연락처와 동일한 주소를 추가해야합니다 (먼저 주소 및 연락처를 추가하는 것보다).
편집 :
(올바르게 알고 있듯이) 데이터 바인딩은 "생성 컨트롤러"및 "생성보기"결과 클래스에서 기본적으로 사용됩니다.
웹 페이지 흐름을 처리하는 방법, 이전에 고객 도메인을 저장하지 않고 주소와 연락처를 추가 할 수있는 방법은 없습니다. 그리고 "customer.create", "address.create"및 "contact.create"뷰간에 여러 번 전환 한 후에도 전체 구조가 여전히 존재합니다.
(세션 객체에 고객 도메인을 저장하려고 시도하고 create.address보기 저장 메소드에서 세션에서 고객을 가져 와서 addressInstance를 고객의 주소록에 추가하여 고객을 저장했습니다. 다시 세션에서 및 세션을 편집 할 수있는 인스턴스를 가져 오는 customerInstance에 대한 새 editSession- 작업으로 다시 전환했다. 그러나 그것은 내게 그 customerInstance만이 세션에 포함되어 있고 관련 객체가 아니라는 것 같았다. [Omg, 희망을 이해할 수 있기를 바랍니다 ...])
필자가 필요로하는 워크 플로우는 어떻게 가능합니까? (바라기를 당신은 저에게 몇몇 문서 또는보기에 저를 가르 킬 수있다)
고맙게 미리, Susanne.
사용자 친절한 디자인은 같은 페이지에 세 개의 객체를 (사용자가 세 가지 사이를 전환 할 것입니다 왜 만드는 것입니다 :
Grails로 이미 작업 해 왔기 때문에 "바인딩하고 저장"하는 것이 너무 간단한 답변입니다. :) 좀 더 구체적인 수 있습니까? –
GORM이 어떻게 작동하는지 이해하기 시작하는 것이 가장 좋은 출발점입니다. [** 여기에서 시작 **] (http://grails.org/doc/latest/guide/GORM.html). [GORM의 협회] (http://grails.org/doc/latest/guide/GORM.html#gormAssociation)는 귀하가 추구하는 것을 성취하기 위해 이해해야 할 사항입니다. – dmahapatro
답장을 보내 주셔서 감사합니다. 내 게시물을 편집하여 - 잘하면 - 이해할 수있게 만들어야합니다. 문제를 해결할 해결책이 있다고 생각합니다. 내 생각 엔, 내 문제는 계단식 저장이 아니라 개체 구조를 여러보기 변경 내용 사이에서 유지하는 것입니다. – susi