gpt4 book ai didi

ember.js - ember 数据在保存时注入(inject)元数据

转载 作者:行者123 更新时间:2023-12-04 23:22:43 24 4
gpt4 key购买 nike

我正在开发一个 Ember.js 应用程序,目前我尝试实现用户注册。到目前为止,我找到了两种方法来实现这一点,但都有一些缺点。

一种方法是拥有一个注册 Controller ,它使用电子邮件、密码和密码确认值将自定义 ajax 发布到服务器。我不太喜欢这个地方的自定义 ajax 调用,我更喜欢使用 EmberData 用户模型并保存它,但我不想在客户端存储密码和密码确认值。

我发现,有一种方法可以从服务器接收模型的元数据,所以我的问题是,还有一种方法可以将元数据保存到服务器吗?

也欢迎其他不将密码存储在客户端的解决方案。

最佳答案

当然,创建一个自定义序列化程序并覆盖序列化

App.UserSerializer = DS.RESTSerializer.extend({
serialize: function(record, options) {
var json = this._super(record, options);

// assuming niner isn't an attr on the model definition
// just a value added to the model that I want to include in the meta data
json.meta = { typedPass: record.get('typedPass') };

return json;
}
});

顺便说一句,您绝对不应该存储密码,也不应该将密码传输给客户端。我假设您正在编写某种登录页面并且不打算这样做,我只是将其编写为 CYA。

//没有定义密码,它只会发送 id 和 user 属性。
App.User = DS.Model.extend({
user: DS.attr()
});

App.ApplicationRoute = Em.Route.extend({
model: function(){
var user = this.get('store').createRecord('user', {user:'cow'});
user.set('typedPass', 'some crazy cow password'); // the default serializer wouldn't attach this when you save
user.save();
}
});

关于ember.js - ember 数据在保存时注入(inject)元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com