2013-07-13 96 views
2

我已經設置了authenticatedRoute以重定向到我的應用中的登錄路由。但是,在轉換過程中,我收到了一條奇怪的錯誤消息。Ember 1.0rc6 - transitionTo上的錯誤消息,雖然它仍然有效

這些錯誤是在燼源代碼中的某處,所以我不知道我的代碼是關閉它。我查了幾遍,發現我的錯在哪裏

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

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

App.LoginRoute = Ember.Route.extend() 

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

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: -> 
    @set('loginError', null) 
    @set('email', null) 
    @set('password', null) 
    @set('remember', true) 

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

您是否定義了「LoginRoute」? – intuitivepixel

+0

是的,所有的默認值 – DVG

回答

1

我看到錯誤的一件事是錯誤處理程序。它需要位於AuthenticatedRoute上的events對象內。

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

除此之外,顯然有些東西是undefined。在開發工具控制檯中,在跟蹤異常消息的堆棧跟蹤中應該看到什麼/哪裏。堆棧跟蹤會在某個級別顯示應用程序代碼中的哪個方法觸發異常。

如果可能,請嘗試發佈jsbin。