【问题标题】:Ember.js with Firebase backend: change Firebase's auto-generated model IDs带有 Firebase 后端的 Ember.js:更改 Firebase 的自动生成模型 ID
【发布时间】:2016-08-15 01:29:13
【问题描述】:

我正在构建一个以 Ember.js 和 Firebase (EmberFire) 作为后端的个人网站。我已经连接了 Firebase,我可以创建记录等,然后在 Firebase 控制台中查看记录。

我正在为我的网站构建自己的帖子系统,用于发布个人帖子等。我想在/posts/:post_id 为我的帖子设置动态路由,其中​​:post_id 是帖子的虚化标题。我一直在关注 Ember 教程,并且已经在我的模型中拥有了我需要的所有属性(如虚线标题)。但是,每当我创建记录并将数据发送到 Firebase 数据库时,Firebase 都会自动生成一个帖子 ID,如下所示:

posts
 -KP3SRMcfGCXW1hz-c1W
 -KP3a-6nr9C_gqPMTnFO
 -KP53U2pxOZw1gCewBXM
 -KPAde4QmamjrrNpVhhn
 -KPAeXaxty4p5uWbBvE8
 -KPAetgYyKFZMVCl9h9l
 -KPAh0JZt6GvLqhpEnIG
 -KPAh8vrKNaPLYZGbkvq

因此,如果我有一个名为“hello first post”的帖子,我无法转到/posts/hello-first-post,但如果该帖子的 ID 为-KPAh8vrKNaPLYZGbkvq,我可以转到/posts/-KPAh8vrKNaPLYZGbkvq,它会起作用。我已经生成了动态路由,这就是后一个选项起作用的原因。

我想知道如何更改此设置,以便帖子的动态路由不是 Firebase 自动生成的 ID。

例如,我想让这个工作:

{{link-to post.title "post" post.dasherizedTitle}}

我已经有一个路由到 /posts/:post_id 的发布路由,因此链接到帮助器正在生成正确的链接。但是那里什么都没有,因为 Firebase 有它自动生成的帖子 ID。

【问题讨论】:

    标签: javascript ember.js firebase firebase-realtime-database


    【解决方案1】:

    你可以在firebase上使用put代替post,put不会有自动生成的数据,push会有自动生成的id,因为它是一个数组

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 2022-10-26
      • 2019-05-17
      • 2020-05-30
      相关资源
      最近更新 更多