2017-11-08 1 views
3

나는 아직 초보자이며 Node Express에서 Ember로 응용 프로그램을 변환 중입니다. Ember에 관련된 방법론 중 일부는 혼란 스럽습니다.Ember.JS - Submit 버튼은 쿼리를 실행하고 JSON 객체를 템플릿으로 반환합니다. 쿼리를 서비스, 모델 또는 경로에서 실행합니까?

현재 응용 프로그램에는 제출 된 양식이 있으며 입력을 기반으로 쿼리가 실행됩니다. 결과는 새 템플릿으로 표시됩니다.

app.post('/test', function(req, res){ 
switch(req.body.module) { 
    case "Option 1": 
    getOption1Results(req, res); 
    break; 
    case "Option2": 
    getOption2Results(req, res) 
    break; 
    case "Option 3": 
    getOptio3Results(req, res) 
    break; 
    case "Option 4": 
    getOption4Results(req, res) 
    break; 
    default: 
    console.log("didn't work") 

} 

엠버의 동일한 결과를 얻으려면 나는 내가 할 수있는 서비스를 생성해야하는지 여부를 모르는 : 현재 응용 프로그램의 app.js에서 POST에 switch 문이있다 템플릿을 통과 한 모델에서 쿼리를 실행하거나 경로를 생성하거나 쿼리를 실행합니다. 또는 폼 제출 버튼에서 액션을 처리해야하는 경우.

모든 조언을 주시면 대단히 감사하겠습니다.

답변

0

는 내가 뭘 할 것은 다음 :

  • 이 제출 될 때, 조치가 호출되도록, 양식의 동작을 확인 사용자
  • 에 양식을 표시 할 수있는 경로를 만듭니다. 양식의 작업을 호출하려면

을 그렇게

  • 쿼리 실행하는 서비스를 확인하고자하는 경우 여기에서 양식을 검증 할 수있다 (또는 당신은 또한 컨트롤러를 사용할 수 있습니다,하지만 난 개인적으로 좋아하지 않는다) (모두를 통해 버튼 프레스를 제출하고 키를 눌러 입력) 제출 당신은 같은 것을 할 수있는 :

    <form {{action "onSubmitAction" on="submit"}}> 
        {{input type="text" value="foobar"}} 
        <button type="submit">Save</button> 
    </form> 
    

    을 그리고 컨트롤러 (또는 구성 요소), 당신은 정의 할 다음

    actions: { 
        onSubmitAction() { 
         // Do something 
        } 
    } 
    
  • +0

    팁을 주셔서 감사합니다. – Abuelo

    관련 문제