自定义Geddy.js型号ID?

时间:2013-09-03 02:56:05

标签: node.js geddy

我在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 个答案:

答案 0 :(得分:2)

是的,如果你真的想要,你可以改变你的身份,但你会在那里走出困境,所以这是一个非常糟糕的主意。让Geddy为您处理ID。

我这样做的方式(当然还有其他人有多少)是有一个“slu”“功能从帖子标题创建一个slug,并将其保存在你的数据库中。然后,在您的show动作中查询该内容。您无需更改路线。

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

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

params.id是您在路线/posts/<this string>

中使用的任何字符串

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