我是关于sailjs的新手。您知道是否可以实现友好的URL系统?
例如,如果我想管理产品,我如何通过格式化的标题而不是id来在我的控制器中处理它。
由于
答案 0 :(得分:3)
Sailsjs没有内置的支持,但你必须采取的步骤非常简单。
您网址中的这些格式化字符串称为slugs。快速搜索npm可提供多种结果。
使用sails处理slug的方法是在产品模型上实现lifecycle callbacks(向下滚动到有关回调的部分)。
使用beforeCreate方法并将slug生成到模型的属性中。在beforeUpdate中,你应该检查之前被砸过的数据是否已经改变,并在需要时创建一个新的slug。
创建匹配的route。例如/ product /:slug
在您的控制器中,您只需将where子句从产品ID切换到您在模型beforeCreate方法中生成的属性。
如果存在两种产品具有相同名称的可能性,则应将产品ID或其他唯一信息添加到slug中。
快乐的编码。如果有什么不清楚的话留下评论