我压倒了我的模型.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
)
答案 0 :(得分:0)
在路线而不是控制器上执行此操作帮助我解决了这个问题:
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`