2013-07-13 2 views
0

주어진 경로를 방문 할 때 로그인 경로로 리디렉션되도록하려고합니다.Emberjs 1.0rc6 - 인증 된 경로 만들기

:

내가 this gist의 코드를 따라하지만이 내 애플 리케이션에 어떤 영향을 미칠 것 같았다하지 않은

내 코드 (모든 여전히 전에했던 방식으로 작동하지만, 적어도 아무것도 파산 없음)

App.AuthenticatedRoute = Ember.Route.extend 
    beforeModel: (transition) -> 
    if !App.Auth.signedIn 
     return RSVP.reject(); 

App.PromptsRoute = App.AuthenticatedRoute 
    model: -> App.Prompt.find() 


    error: (reason, transition) -> 
    loginController = @controllerFor('login') 
    loginController.set('afterLoginTransition', transition) 
    @transitionTo(login) 

App.LoginController = Ember.Controller.extend 

    email: null 
    password: null 
    remember: true 
    loginError: null 
    afterLoginTransition: null 

    login:() -> 
    self = @ 
    App.Auth.signIn 
     data: 
     email: @get 'email' 
     password: @get 'password' 
     remember: @get 'remember' 
    .done (response) -> 
     self.clearForm() 
     self.loginSucceeded() 
    .fail (response) -> 
     self.set('loginError', "Your username or password was incorrect. Please try again") 

    clearForm: -> 
    self.set('loginError', null) 
    self.set('email', null) 
    self.set('password', null) 
    self.set('recmember', true) 

    loginSucceeded: -> 
    transition = @get('afterLoginTransition') 
    if transition 
     transition.retry() 
    else 
     alert("Boink") 

답변

1

나는 당신이 바로 당신의 AuthenticatedRouteAuthenticatedRoute보다는 을 할당 확장하고 싶었 추측?

당신이해야 할 경우라면 :

App.PromptsRoute = App.AuthenticatedRoute.extend 
    model: -> App.Prompt.find() 
    ... 

는 희망이 도움이.

+0

글쎄. 감사! – DVG