为什么 slug 没有保存在 Strapi 中?

分享于2023年03月01日 slug strapi vue.js 问答
【问题标题】:why is the slug not saved in Strapi?为什么 slug 没有保存在 Strapi 中?
【发布时间】:2023-02-18 07:52:06
【问题描述】:

有一个视频内容类型字段,其中有一个链接段,当创建新视频时,在获取请求中我们得到一个空段。告诉我怎么了。没有安装 slugify

docs

strapi img

get img

  • 目前尚不清楚为什么会发生这种情况。检查 ***.com/help/how-to-ask ***.com/help/mcve
  • @EstusFlask 添加了图像以便您可以看到
  • 您使用的是哪个版本?我的意思是 v4 或 v3
  • @Manishyadav strapi v4
  • 尝试使用 slugify 可能会解决问题

【解决方案1】:

好的,这就是我所做的

我根据我的表单字段之一(例如:名称字段)在 POST 请求之前创建了一个变量 我的 formValues 是一个具有这样的表单字段值的对象 formValues = {name:"what ever" , decsription:"what ever"}

做一个变量:

const slug = formValues.name.split(" ").join("-") + "-" + Math.random();

现在我们可能有相同的名字,所以这就是我使用随机值的原因(你可能想使用 uuid 或类似的东西)

然后你像这样发送

const res = await fetch(`${API_URL}/api/events`,{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ data: { ...formValues, slug } }),
 }); 
// you may not need to send an object with the shape like this 
// but the point is you concat your custom slug to the object you want to send

注意 我从前端添加了一个 slug,它是随机的,但基于其中一个字段,但这并不重要,现在 strapi 没有关于这个常见问题的任何文档,看起来最好的解决方案可能是使用 strapi-plugin-slugify 但如果这对您不起作用,请随时使用我的解决方案

【讨论】: