0

我是sailjs的新手。你知道是否有可能实现一个友好的 URL 系统?

例如,如果我想管理产品,我如何在控制器中通过格式化的标题而不是 id 来处理它。

谢谢

4

1 回答 1

3

Sailsjs 没有对此的内置支持,但您必须采取的步骤非常简单。

url 中的这些格式化字符串称为 slugs。在npm上快速搜索会提供几个结果。

使用 Sails 处理 slug 的方法是在您的产品模型上实现生命周期回调(向下滚动到有关回调的部分)。

使用 beforeCreate 方法并将您的 slug 生成到模型上的属性中。在 beforeUpdate 中,您应该检查您之前 slugged 的​​数据是否已更改,并在需要时创建一个新的 slug。

创建一个匹配的路由。例如 /product/:slug

在您的控制器中,您只需将 where 子句从产品 id 切换到您在模型 beforeCreate 方法中生成的属性。

如果存在两个产品具有相同名称的可能性,则应将产品 ID 或其他唯一信息添加到 slug。

快乐编码。如果有不清楚的地方发表评论

于 2013-11-06T23:08:16.800 回答