0

我在 Geddy 中注意到,当我为该模型创建模型和后续记录时,我得到一个与记录关联的非常丑陋的模型 ID。就像是:

http://localhost:4000/posts/3FEEDE8D-2669-445B-AEA1-A31092A7FEDA

有没有办法改变这个?

理想情况下,我总是希望这是某种字符串。帖子或用户的位置:

http://localhost:4000/posts/this-is-a-post-title
http://localhost:4000/profile/meebix

如果这是可能的,我应该如何:

  1. 配置路由
  2. 更改模型的主键
  3. 我可能需要的其他实施步骤

谢谢!

4

1 回答 1

2

是的,如果你真的想的话,你可以改变 id,但是你会在那里偏离常规,所以这是一个非常糟糕的主意。让 Geddy 为您处理 ID。

我这样做的方式(当然还有多少其他人也有)是让“slugging”函数从帖子标题中创建一个 slug,并将其保存在您的数据库中。然后,在你的表演动作中查询。您不必更改路线。

这是您的查询在 show 操作中的样子:

Post.first({slug: params.id}, function (err, post) {

params.id是您在路线中使用的任何字符串/posts/<this string>

因此,一旦您更改show链接以使用 slug 而不是 ID,您将全部设置好!

于 2013-09-03T07:27:23.473 回答