2010-04-09 4 views
0

저는 grails/extjs의 초보자입니다. 팀의 웹 기반 구성 도구를 개발 중입니다. 내 문제는 extjs의 comboboxes와 같습니다. 나는 3 개의 원격 콤보를 가지고 있습니다.). 나는 값 필드 (데이터베이스의 ID primay 키)를 제출하기 위해 hiddenName을 사용하고 있는데, 표시 필드 대신 json.some으로 렌더링하여 얻는 이름입니다. 다른 인덱스를 선택하면 어떻게 표시되는지 알 수 있습니다. db에서로드되고 it.it을 확실히 업데이트하려고 시도하지만, 업데이트되지 않은 grails를 저장하는 방법으로 params로 보냅니다.grails 컨트롤러를 사용하여 extjs 콤보를 저장할 수 없습니다

이해하고 싶습니다. 이유는 무엇입니까? 나는 combobox와 grails 메소드의 스 니펫을 붙여 넣었습니까?

{ 
      xtype : 'combo', 
      id:'cpsServerid', 
      fieldLabel : 'CpsServer', 
      name : 'cpsServer', 
      //hiddenId:'cpsID', 
      hiddenName:'cpsID', 
       store: cpsServerStore, 
      displayField:'NAME', 
      valueField:'ID', 
      editable:true, 
      typeAhead:true, 
      mode:'remote', 
      triggerAction:'all', 
        width:300, 
      autoScroll:true, 
      selected:name, 
      selectOnFocus:true}, 

Grails의

def saveApplicationSubscription = { 
     println "saveApplicationSubscription, params = $params" 
     ApplicationSubscription subscription 

    if (params.id) { 
      subscription = ApplicationSubscription.get(params.id as int) 
      subscription.cpsServer = CpsServer.get(params.cpsID as int) 
      subscription.topic = params.topic 
       subscription.description = params.description 
       subscription.subscriberApplication = SubscriberApplication.get(params.subAppID as int) 
       subscription.outputQueue = OutputQueue.get(params.outputID as int) 
       bindData(subscription , params) 
     } 
    else { 
      params.id = 0 
      subscription = new ApplicationSubscription(params) 
      subscription.id = params.id as int 
      subscription.cpsServer = CpsServer.get(params.cpsID as int) 
      subscription.topic = params.topic 
      subscription.description = params.description 
      subscription.subscriberApplication = SubscriberApplication.get(params.subAppID as int) 
      subscription.outputQueue = OutputQueue.get(params.outputID as int) 
     // subscription.messageFormat = params.messageFormat 


     } 
if (subscription.save()) { 

     log.info("Saved ApplicationSubscription $subscription") 
     render([success: true] as JSON) 

    } 
    else { 
     log.info("Failed to save ApplicationSubscription $subscription, errors = ${subscription.errors}") 
     render([success: false, errors: subscription.errors] as JSON) 
    } 
} 

난 정말

답변

0

당신이 당신의 POST 당신이 기대하는 것처럼 보이는 방화범 콘솔 탭에서 확인 했 도움이 apperciate 것 SAVE? 그러면 문제가 클라이언트 또는 서버에 있는지 여부가 확인됩니다.

관련 문제