在 emberjs 2.x 和 Firebase 3.x 中使用自定义 ID 创建记录
createRecord with custom ID in emberjs 2.x and Firebase 3.x
到目前为止,我使用以下代码行保存了所有数据:
saveUser(params) {
let newUser = this.store.createRecord('user', params);
newUser.save();
this.transitionTo('index');
这工作正常,但不允许在 firebase 中使用自定义 ID,因此我将其更改为:
saveUser(params) {
let newUser = this.store.createRecord('user', {
id: params.loginId,
name: params.name,
nickname: params.nickname,
imageUrl: params.imageUrl,
email: params.email
});
newUser.save();
this.transitionTo('index');
完全按照我希望它们存储在 Firebase 数据库中的方式处理它们,所以没有问题。我想知道,虽然没有在网上找到任何解决方案,但我如何将两者结合起来,这样我就不必绑定每个参数。当我 add/remove 模型属性时,它肯定会出现问题。
我正在寻找的东西看起来像这样(伪,是的,我试过了,没有用!):
let newUser = this.store.createRecord('user', {id: params.loginId}, params);
简而言之,我正在寻找 ('model', params)
的动态属性,但可以选择手动调整 1(或更多)条记录,而无需输入 all 的参数。
提前致谢!
您可能希望自定义序列化程序来完成此操作。文档中的示例很好,所以它应该非常简单:https://guides.emberjs.com/v2.13.0/models/customizing-serializers/
当然,我假设您正在为您的模型使用 Ember 数据。
到目前为止,我使用以下代码行保存了所有数据:
saveUser(params) {
let newUser = this.store.createRecord('user', params);
newUser.save();
this.transitionTo('index');
这工作正常,但不允许在 firebase 中使用自定义 ID,因此我将其更改为:
saveUser(params) {
let newUser = this.store.createRecord('user', {
id: params.loginId,
name: params.name,
nickname: params.nickname,
imageUrl: params.imageUrl,
email: params.email
});
newUser.save();
this.transitionTo('index');
完全按照我希望它们存储在 Firebase 数据库中的方式处理它们,所以没有问题。我想知道,虽然没有在网上找到任何解决方案,但我如何将两者结合起来,这样我就不必绑定每个参数。当我 add/remove 模型属性时,它肯定会出现问题。 我正在寻找的东西看起来像这样(伪,是的,我试过了,没有用!):
let newUser = this.store.createRecord('user', {id: params.loginId}, params);
简而言之,我正在寻找 ('model', params)
的动态属性,但可以选择手动调整 1(或更多)条记录,而无需输入 all 的参数。
提前致谢!
您可能希望自定义序列化程序来完成此操作。文档中的示例很好,所以它应该非常简单:https://guides.emberjs.com/v2.13.0/models/customizing-serializers/
当然,我假设您正在为您的模型使用 Ember 数据。