Ember.js 自定义随余烬数据提交的数据
在Ember中,我通常会提交如下资源:Ember.js 自定义随余烬数据提交的数据,ember.js,Ember.js,在Ember中,我通常会提交如下资源: App.FooNewController = Ember.ObjectController.extend( actions: submit: -> @get('model').save().then ((response) => @transitionToRoute('foo', @content) ), (response) => @set "errors", res
App.FooNewController = Ember.ObjectController.extend(
actions:
submit: ->
@get('model').save().then ((response) =>
@transitionToRoute('foo', @content)
), (response) =>
@set "errors", response.errors
)
这是因为用户输入到Foo表单中的所有数据都很好地转换为Foo模型。但是,对于包含敏感信息(如密码和电子邮件地址)的用户模型呢?我不希望在模型中包含这些信息。但是,如果它不在那里,那么当我提交带有这些字段的用户表单时,Ember Data将不会向服务器提交密码和电子邮件,即使它提交用户名等非敏感数据
所以我的问题是,在提交时,我如何获得包含密码和电子邮件字段的余烬数据?我正在使用ActiveModelAdapter。您的模型应包括敏感字段,例如:
App.User= DS.Model.extend({
userName: DS.attr('string'),
email: DS.attr('string'),
password: DS.attr('string'),
passwordConfirmation: DS.attr('string')
};
但是,当请求用户时,服务器不应发送电子邮件/密码信息。在您的视图中,您可以让用户添加此信息,然后执行以下操作:
this.get('model').save();
this.get('model').rollback();
用户完成的电子邮件和密码将提交到服务器。然后服务器应回复模型数据的副本,不包括电子邮件和密码,这将导致模型更新为空白电子邮件和密码
此外,当用户离开您的视图而不向服务器提交数据时,最好执行以下操作:
this.get('model').save();
this.get('model').rollback();
这将回滚用户对视图中的字段所做的任何更改 对不起,我应该早点接受这种方式。完美答案。这很有道理,你可以通过解释一些微妙的后果来超越它。再次感谢!