다음과 같은 문제가 있습니다. 편집하려는 엔티티가 있습니다. 그래서 나는 페이지를 보여주고 페이지를 편집하기 위해 탐색한다. 내 엔터티의 id은 과 같습니다. 그런 다음 우리는 다음과 같은 URL을 가지고 있습니다 : app/entity/show/2 ->app/entity/edit/2. 그런 다음 편집 페이지에서 항목을 업데이트하고 양식을 제출 한 후 app/entity/update으로 이동합니다. 내 컨트롤러에서 나는 갱신() 메소드에 대한 다음과 같은 코드가 있습니다grails는 양식 제출 전에 id param을 삭제합니다.
def update(Entity entity) {
//some code
}
내가 디버깅 업데이트 방법 및 그 실체에 포함 된 참조 ID = ID가합니다 (PARAMS에 포함되어 있음을 의미 2 아마 이전 URL 때문에 app/entity/edit/2과 동일). 사실 디버그로 확인하는 경우 params에 있습니다. 그러나 id이 params에있는 경우 Grails가 저에게 적합하지 않은 것을 수행하기 때문에 폼을 제출하기 전에 id를 id에서 제외하고 싶습니다. grails는 DB의 연관과 함께 엔티티를 가져옵니다. 우리가 말할 수 1 협회 한 대일 : 엔티티-N : otherEntity, 일부 otherEntities을 삭제할 수 있습니다 내 편집 페이지에,하지만 이후 ID가 PARAMS에서 오는 기업의, grails는 편집 페이지에서 삭제 된 경우에도 otherEntities을 가져옵니다. 양식 제출 전에 parham에서 엔터티의 id을 제외 할 수 있습니까? 감사합니다.
<g:form url="[resource: empInstance, action: 'update']" method="PUT">
내가
<g:form controller="emp" action="update" method="PUT">
로 변경하고 현재 ID가 PARAMS 그러나이 포함되지 않습니다 내 edit.gsp에서 UPD
다음 코드가 있었다 코드 :
def update(Entity entity) {
//some code
}
이 비어있는 엔티티를 제공합니다.
코드와 관련된 부분을 기입하십시오. –
작업을 실행하기 전에 요격기 http://grails.org/doc/latest/ref/Controllers/beforeInterceptor.html을 통해 처리 할 수 있습니다. – Abs
나는 이것을 얻지 못했다 : "편집 페이지에서 일부 otherEntities를 삭제하는 것이 가능하다."그리고 두 번째 경우에 당신은 리소스를 생략했기 때문에 빈 객체를 얻는다 : empInstance는 id 필드를 url에 추가한다. – dsharew