27개의 하위 카테고리가 있는 카테고리가 있습니다. 순서를 변경한 후 저장하려고 하면 “422 Unprocessable Entity” 오류가 발생합니다.
저는 이 문제를 재현하지 못했습니다. 브라우저의 인스펙터를 콘솔 탭으로 열어 범주 순서를 다시 정렬해 보시고, 그곳에 오류에 대한 추가 정보가 표시되는지 확인해 주시겠어요?
지금은 할 수 없지만, 최대한 빨리 처리하겠습니다. 그 사이 최신 버전인 Discourse **2.4.0.beta5 (302e8f4393)**로 업그레이드했고, 422 오류가 422 No Reason Phrase로 바뀌었습니다.
나도 카테고리를 재정렬하려고 하면 같은 오류가 발생합니다. 어떻게 해야 하나요?
감사합니다.
그동안 2.4.0.beta7(15f6f57cdc)로 업그레이드했는데, "Failed to handle exception in exception app middleware : Validation failed: Auto close hours must be greater than 0"라는 오류 로그가 출력되었습니다.
멀티사이트 설정에 어떤 문제가 있어서 이 사이트의 마이그레이션만 깨진 것으로 보입니다. 다른 사이트에서는 이 422 오류가 표시되지 않으므로요.
현재 업데이트에서 오류가 발생했습니다.
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })
수정하는 데 도움을 주세요.
저도 오늘 2.4.0.beta8 버전에서 이 문제를 겪기 시작했습니다.
카테고리에 하위 카테고리가 있었는지 여부와는 상관없는 것 같습니다. 하위 카테고리를 삭제한 후에도 일부 카테고리에서는 422 오류가 발생합니다.
@Tom_Newhouse, @Taunusbahner, 로그에 "자동 닫기 시간이 0보다 커야 합니다"라는 경고가 표시됩니까?
최근 다른 포럼에서 카테고리를 편집했는데, 자동 닫기 설정이 0으로 되어 있었습니다. 0을 제거하니 저장할 수 있었습니다.
해결책을 찾은 것 같습니다.
제 경우, 분류되지 않음 카테고리의 자동 종료 시간이 0으로 설정되어 있어 카테고리 순서를 저장할 수 없었습니다. 분류되지 않음 카테고리를 편집하여 이 0 값을 제거하니 문제가 해결되었습니다!
이 0 값은 자동 종료 시간 설정이 처음 도입될 때 nil로 남겨두지 않고 0으로 설정되면서 생긴 것으로 추정됩니다. 제 환경에서는 이 방법으로 해결되었으니, 여러분에게도 도움이 되기를 바랍니다.
이 주제는 #support로 이동되고 이 게시물이 해결책으로 채택되어야 합니다. 단, 팀이 이 문제가 다시 발생하지 않도록 버그를 추적하여 프로그래밍 방식으로 수정하기를 원한다면 예외입니다.
그 에러는 보이지 않고, 제 쪽에서는 “토픽 자동 종료 시간” 필드가 이미 비어 있습니다.
이 문제를 추가로 테스트해 보았지만 여전히 발생하고 있습니다.
데이터베이스를 확인해 본 결과, “카테고리 순서 변경” UI에 표시되는 내용과 일치하지 않는 여러 카테고리의 위치 ID 충돌이 있는 것으로 보입니다.
이것이 문제의 원인이 될 수 있으며, 그렇다면 어떻게 해결할 수 있을까요?
오늘 오류를 다시 확인해 보았지만 해결책을 찾지 못했습니다.
Discourse 버전: 2.4.0.beta9
설치된 플러그인:
||이름|버전|활성화 여부||
| --- | --- | --- | --- | --- |
||[discourse-chat-integration](https://github.com/discourse/discourse-chat-integration)|0.1|예||
[discourse-formatting-toolbar](https://github.com/iunctis/discourse-formatting-toolbar.git) 3.2 예
[discourse-merge-users](https://github.com/curiousdannii/discourse-merge-users) 0.1.0 예
[discourse-mlm-daily-summary](https://www.github.com/joebuhlig/discourse-mlm-daily-summary) 0.1 예
[discourse-telegram-notifications](https://github.com/davidtaylorhq/discourse-telegram-notifications) 0.1 예
[discourse-translator](https://github.com/tgxworld/discourse-translator) 0.2.0 아니오
[discourse-whos-online](https://github.com/davidtaylorhq/discourse-whos-online) 1.0 예
[docker_manager](https://github.com/discourse/docker_manager) 0.1 예
로그에는 다음과 같은 오류만 표시됩니다.
오류: 이유 구문 없음 URL: https://forum… assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js 줄: 1 열: 262166 창 위치: https://forum.
ActiveRecord::RecordInvalid (유효성 검사 실패: slug가 유효하지 않음) /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/validations.rb:81:in `raise_validation_er
예외 앱 미들웨어에서 예외 처리 실패: 유효성 검사 실패: slug가 유효하지 않음
플러그인에 대한 의심을 배제할 수 있도록 안전 모드에서 시도해 보세요.
브라우저의 콘솔 로그를 사용해 보세요…
이것이 문제일 수 있습니다. 숫자만 포함된 slug를 가진 카테고리가 있습니까? 그렇다면 해당 카테고리의 slug를 다른 값으로 수정할 수 있습니까?
사용자 여러분께,
그동안 제 문제를 찾았거나, 그렇게 생각합니다.
이 문제가 발생하기 전에, 저는 Yahoo에서 25,000개 이상의 스레드를 가져온 적이 있습니다.
이러한 카테고리는 Discourse에서 처리하기에 너무 큰가요?
이 카테고리를 삭제한 후, 포럼이 잘 작동하고 있습니다.
재정렬 알고리즘의 배치 처리에 한도가 있나요? 이 기능에는 백그라운드 작업이 필요할 것 같은데, @simon님?
Discourse 코드에는 재배열할 수 있는 카테고리의 수에 대한 제한이 설정되어 있지 않습니다. 또한 백그라운드 작업을 통해 처리되지도 않습니다. 422 오류의 원인은 reorder 코드가 cat.save!를 호출할 때 발생한다고 생각합니다. 예를 들어, 문제가 되었던 카테고리는 "자동 닫기 시간(Auto close hours)"이 0으로 설정되어 있었습니다. 이는 잘못된 설정이므로 카테고리를 저장하는 과정에서 오류가 발생했습니다.
매우 많은 수의 카테고리를 재배열하려고 시도할 경우에도 오류가 발생할 수 있는 것으로 보입니다.
저도 같은 문제를 겪었습니다.
Allow Uncategorized Topics 설정이 해제되어 있었습니다. 미분류된 주제를 허용하자 정렬 순서 저장이 정상적으로 작동했습니다.
여러 해결책이 제시되었으므로 이 게시글을 닫겠습니다. 비슷한 문제를 겪으시는 분은 새 게시글을 작성해 주세요.