2014-01-08 3 views
1

라디오 선택 및 체크 상자를 모으는 양식이있어서 리턴 된 내용을 기반으로 일련의 객체를 작성해야합니다. :내 응용 프로그램에서 객체를 저장하는 방법을 개선하는 데 도움이 필요합니다.

[thingid:1, 13:30,14:33, 11:26, 12:78, action:save, controller:userThing] 

하나의 목적은 thingid로부터 생성되고, 상기 정수 값 쌍 그래서 지금 I는 각각와 PARAMS (통해 반복하고있어, N 개의 추가 객체를 생성하는 데 사용되는 2 개 다른 개체의 ID이다) 그리고 긴 if 식으로 정수가 아닌 쌍을 필터링 한 다음 필요한 객체를 저장합니다.

그것은 필요한 모든 객체를 올바르게 생성한다는 점에서 작동하지만, 이것은 나에게 어리석은 것처럼 보입니다. 더 좋은 방법이 있어야한다는 것을 알고 있습니다 ... 어쩌면 폼 요소를 그룹화하여 이렇게 반환 할 수 있습니까? :

[thingid:1, integerpairs:[13:30,14:33, 11:26, 12:78],action:save,controller:userThing] 

답변

4

대안이 될 수 : 확실히

def userThingList = params.keySet().grep(Integer).collect { it -> 
    new UserThingScore(userthing: userthing, 
         thingproperty: ThingProperty.get(it), 
         thinglevel: ThingLevel.get(params[ it ])) 
} 

userThingList*.save() 
+0

개선. 모든 정수 쌍을 응답에 명시 적으로 그룹화 할 수 있다면 이상적이라고 생각하지만 가능한지 모르겠습니다. – phauwn

관련 문제