在 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 数据。