Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 自定义随余烬数据提交的数据_Ember.js - Fatal编程技术网

Ember.js 自定义随余烬数据提交的数据

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

在Ember中,我通常会提交如下资源:

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();

这将回滚用户对视图中的字段所做的任何更改

对不起,我应该早点接受这种方式。完美答案。这很有道理,你可以通过解释一些微妙的后果来超越它。再次感谢!