【问题标题】:Ember ActiveModelAdapter errors in custom save自定义保存中的 Ember ActiveModelAdapter 错误
【发布时间】:2014-06-11 17:37:27
【问题描述】:

我覆盖了我的模型.save 的成功和失败,因此我可以在创建记录后对用户进行一些身份验证。不幸的是,这不会使用 ActiveModelAdapter 通常为您填充的错误对象填充模板。如何在此处恢复默认的错误处理行为?

UsersNewController = Ember.ObjectController.extend
  actions:
    create: ->
      self = this
      email = @get('email')
      typedPassword = @get('password')
      user = this.store.createRecord 'user',
        email: email,
        password: @get('password')
      user.save().then( (->
        self.get('session').authenticate('authenticator:custom',
          identification: email
          password: typedPassword
        )), (error) ->
          # error => InvalidError https://github.com/emberjs/data/blob/v1.0.0-beta.8/packages/activemodel-adapter/lib/system/active_model_adapter.js#L86
      )

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    在 Route 而不是 Controller 上执行此操作帮助我解决了这个问题:

    UsersNewRoute = Ember.Route.extend(
      model: ->
        return @store.createRecord('user')
      actions:
        save: (user) ->
          self = this
          typedPassword = user.get('password')
          user.save().then( (res) ->
              self.get('session').authenticate('ember-simple-auth-authenticator:oauth2-password-grant', {
                identification: user.get('email'),
                password: typedPassword
              })
            , (res) ->
              # no-op
          )
        willTransition: (transition) ->
          user = @get('currentModel');
          user.deleteRecord()
    )
    
    `export default UsersNewRoute`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多