2014-11-27 2 views
0

본질적으로 여러 단계가있는 동적 양식 (마법사)을 만들 필요가 있습니다. 지금은 (또는 제거) 그래서 돈 빨리 미래의 마법사에 새 단계를 추가 할 수 있도록; t 그래서 같은 각 단계에 대해 별도의 경로를 만들 :동적 세그먼트의 템플릿

this.resource('wizard', { path: '/' }, function() { 
    this.route('step1', { path: '/' }); 
    this.route('step2'); 
    this.route('step3'); 
    this.route('step4'); 
    this.route('step5'); 
}); 

내가 많이 선호 것 그래서

this.resource('wizard', { path: '/' }, function() { 
    this.route('step', { path: '/:step' }); 
}); 

같은 단계의 이름으로 받아 같은 이름의 해당 템플릿을로드하는 동적 세그먼트는 모든 가능한이 아니면이 단지 희망 사항이다.

+0

동적 세그먼트를 사용하여 단일 경로로 만드는 것을 명심하십시오. 뒤로 버튼을 사용하지 않도록 설정하십시오. –

+0

아주 좋은 지적입니다. 감사합니다 – tomasbasham

+0

나는 단계에 대한 쿼리 매개 변수를 사용합니다. – aceofspades

답변

0

것은

내가 템플릿의 이름을 가진 동적 세그먼트에 적용하려면 라우터의 경로를 정의 ... 나는 해결책을 마련했지만 나는 그것이 최고의 간주됩니다 확실하지 않다 :

this.resource('wizard', { path: '/wizard' }, function() { 
    this.route('missing', { path: '/:step' }); 
}); 

제가

다음
export default Ember.Route.extend({ 
    renderTemplate: function(controller, model) { 
    this.render('wizard/' + model.step, { 
     controller: controller 
    }); 
    } 
}); 

I 올릴 때 적절한 콘센트 템플릿에로드하는 모델이 동적 세그먼트를 취하여 그것을 사용하는 누락 된 경로를 만들었다 이 솔루션에 대한 의견을 듣고 싶습니다.