Strapi-更新用户模型上的其他字段

时间:2019-04-29 10:25:26

标签: rest nuxt.js strapi

问题说明:能够注册用户,但无法在单个请求中更新相同模型上的customFields。详细说明如下。

我在Strapi上向UserModel添加了其他字段。附加的UserModel enter image description here

我正在使用Nuxt构建前端,管理员用户可以在其中创建可以访问该网站的新用户。这不是常规注册,这是网站管理员创建的用户。我想即使是普通注册我也要面对这个问题。 管理员对原始用户拥有所有权利。

提交表单时,我遇到了禁止错误。附表 enter image description here

下面是我处理提交的代码。我首先注册用户,然后根据用户ID尝试更新名和姓。

handleSubmit() {
  if (this.$refs.form.validate()) {
    this.loading = true
    // console.log(this.username, this.email, this.password)
    strapi
      .register(this.username, this.email, this.password)
      .then(response => {
        console.log(response)
        strapi
          .updateEntry('users', response.user.id, {
            firstName: this.firstname,
            lastname: this.lastname
          })
          .then(response => {
            this.loading = false
            this.$router.push('/users')
          })
          .catch(err => {
            this.loading = false
            // alert(err.message || 'An error occurred.')
            this.errorMessage = true
            this.errorMessageContent = err.message || 'An error occurred.'
          })
      })
      .catch(err => {
        this.loading = false
        // alert(err.message || 'An error occurred.')
        this.errorMessage = true
        this.errorMessageContent = err.message || 'An error occurred.'
      })
  }
}

下面是控制台消息。 enter image description here

1 个答案:

答案 0 :(得分:0)

您是否要update(使用PUT方法)其他用户字段或在注册过程中(使用POST方法)将它们传递给后端?

如果要更新它们,则必须执行以下操作:

  1. 向您的用户模型添加字段(已完成)

  2. 在用户权限配置中使/update端点可用。 看截图: enter image description here

  3. 现在,您可以在端点users/:id上使用PUT方法了,例如像这样:enter image description here