Routing Emberjs 1.0rc6-创建经过身份验证的路由

Routing Emberjs 1.0rc6-创建经过身份验证的路由,routing,ember.js,Routing,Ember.js,我正在尝试这样做,当您访问给定路径时,您将被重定向到登录路径 我在中遵循了代码,但它在我的应用程序中似乎没有任何效果(一切仍然像以前一样工作,但至少没有任何东西坏掉) 我的代码: App.AuthenticatedRoute = Ember.Route.extend beforeModel: (transition) -> if !App.Auth.signedIn return RSVP.reject(); App.PromptsRoute = App.Auth

我正在尝试这样做,当您访问给定路径时,您将被重定向到登录路径

我在中遵循了代码,但它在我的应用程序中似乎没有任何效果(一切仍然像以前一样工作,但至少没有任何东西坏掉)

我的代码:

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")

我猜您是想扩展
AuthenticatedRoute
而不是将其分配给
AuthenticatedRoute
,对吗

如果是这种情况,您应该:

App.PromptsRoute = App.AuthenticatedRoute.extend
  model: -> App.Prompt.find()
  ...
希望能有帮助