在我的应用程序中,我目前正在使用允许输入 Title 和 Slug 字段的表单。现在我一直在为蛞蝓的事情苦苦挣扎,因为我永远无法一劳永逸地决定如何处理它们。
1) 使 Title 和 Slug 独立
我应该允许用户分别输入 Title 和 Slug 吗?这是我第一次拥有的。我还有一个选项,如果用户没有输入 Slug,它是从 Title 派生的。如果两者都输入,则 Slug 字段优先。
2) Derive Slug from Title,当插入内容时,这就是 Slug,没有更多的变化
然后,我只切换到 Title 字段并从 title 派生 Slug。这样做时,我发现现在我必须更改所有允许用户输入 slug 的表单。这种做法还可以防止用户更改 Slug——他们可以更改 Title,但对 Slug 没有影响。你可以把它想象成 Slug 是唯一的 ID。
3) 现在我又在考虑允许用户更换 slug
虽然我不认为它有那么有用。有人已经添加的内容,花了多少时间编写它,甚至需要更改标题或 slug 多少次?我不认为这是很多次。
第 3 个选项的最大问题是,如果我使用 Slugs 作为 ID,我需要在 Slug 更改时更新所有地方的引用。或者维护一个包含某种 Slug 历史的表。
你对这些,我希望,有效的问题有什么看法?
如果有人为此提供了示例数据库设计,如果您在此处分享将不胜感激。