2009-12-30 8 views
0

내가 변경 한 AG 자동 완성을 선택합니다 (유이 플러그인을 사용하지 않고)는 유이의 자동 완성을 선택 필드를 지금은지고있어 다음 PARAMS에 printlnGrails의 g :

Failed to convert property value of type [java.lang.String] to required type... 

을 컨트롤러와 동일하게 나타남에 두 경우 모두.

필자는 params에서 String id를 사용하여 필요한 도메인 객체를 얻을 수 있지만 바인더를 사용하고 싶습니다.

나는 binder의 작동 방식을 추측하지만 문제를 찾을 수 없습니다.

g를 사용할 때 ID를 사용하여 개체를 바인딩 할 수 있습니까? select?

감사합니다, 가이

+1

코드를 게시 할 수 있습니까? 당신의 설명에서 이해하기가 어렵습니다. 작동하는 코드와이를 위반하는 코드를 게시하면 도움이 될 것입니다. – Shaun

답변

1

문제는 을 property.id 및 바인더이 시도하고 (인 int)를 아이디의 오브젝트 basesd를 조회 할 것 같은 선택의 이름은 무엇인가 아마 때문이다 String으로 변환 할 수 없습니다.

당신은 이름 속성을 변경하고 "역 참조"매개 변수 새 이름이 동일하지 않습니다 즉

def propValue = Lookup.findByName(params.propertyName); 
objectInstance.property = propValue; 

이 있는지 확인 할당하는 개체를 찾을 뭔가 같은 경우 FindByName를 사용하는 코드를 작성해야 할 수도 있습니다 그렇지 않으면 클래스의 기존 속성으로 바인더가 문자열을 속성에 할당하려고합니다. 귀하의 재산이 발생하지 않는 한 입니다.

희망이 있습니다.