‘undo change timestamp’ 커스텀 rake 태스크를 어떻게 사용하나요?

자세히 어떻게 실행하나요? rake 태스크에 익숙하지 않습니다.

다음과 같은 문제를 겪었습니다:

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

이 작업은 컨테이너 내부에서 수행해야 합니다.

cd /var/discourse
./launcher enter app

위 게시물들 중 하나가 제안하듯 UX에서 이를 수행할 수 있다면, 그것이 더 좋습니다.

또한 해당 코드를 담은 파일을 nano를 사용하여 만들어야 합니다.

감사합니다. 나중에 시도해 보겠습니다.

방금 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 안에 넣으셨습니다. body는 헤더가 아니라 옵션입니다. 아래 문서를 참고해 주세요: