如何使用‘撤销更改时间戳’自定义 rake 任务?

如何详细运行此命令?我不熟悉 rake 任务。

我遇到了这个问题:

-bash: cd: /var/www/discourse: No such file or directory

您需要在容器内进行操作。

cd /var/discourse
./launcher enter app

如果像上面其中一个帖子建议的那样,您可以通过用户界面来完成,我更推荐这样做。

您还需要使用 nano 等编辑器创建一个包含该代码的文件。

1 个赞

谢谢,我稍后会尝试一下。

我刚才试了 API 的方式。

但我收到了 400 错误,提示:

{ errors: [ 'param is missing or the value is empty: timestamp' ] }

这是我的代码:

changeTimestamp(935, 1694291380);

async function changeTimestamp(topicId, timestamp) {
  const endpoint = `/t/${topicId}/change-timestamp`;
  const payload = {
    timestamp: timestamp,
  };
  put(endpoint, payload);
}

async function put(endpoint, payload) {
  const response = await fetch(DISCOURSE_ADDRESS + endpoint, {
    method: "PUT",
    headers: {
      "Content-Type": "application/json",
      "Api-Key": DISCOURSE_API_KEY,
      "Api-Username": API_USERNAME,
      body: JSON.stringify(payload),
    },
  });
  const result = await response.json();
  if (!response.ok) {
    console.log("put failed");
    console.log(result);
  } else {
    console.log("put success");
  }
}

您将 body 放在了 headers 中。它不是一个请求头,而是一个选项。请参阅以下文档:

2 个赞