“태그가 유효하지 않음” - 특정되지 않은 플러그인 때문일 가능성

태그가 하나일 때는 잘 작동하는데, 태그를 여러 개 사용하면 사용자의 게시글 작성이 허용되지 않고 해당 오류 메시지가 표시되는 경우가 있습니다.

게시글을 작성한 후에는 원하는 만큼 태그를 추가하여 수정할 수 있고, 때로는 게시글 작성이 정상적으로 이루어지기도 합니다.

백엔드에서 변경해야 할 설정이 있을까요? 간헐적인 문제의 특성상, 기존 태그가 존재하는 상태에서 새 태그를 생성하거나 한 번에 태그를 하나 이상 생성할 수 없는 상황일 수도 있습니다.

혹시 다른 분들도 이런 문제를 겪어 보셨나요?

티켓 플러그인을 사용 중이신가요, 아니면 태그 그룹을 사용 중이신가요? 티켓 태그를 다른 곳에서 사용하려고 할 때 저한테는 이런 문제가 생기는 것 같습니다.

태그와 관련된 카테고리 설정이 있으신가요? 오류를 일으키는 태그들 사이에 공통점을 찾아보셨나요? 재현이 가능하다면, 로그나 개발자 콘솔을 확인해 보셨나요? 안전 모드에서도 발생하나요?

답변해 주셔서 감사합니다. 해당 플러그인 중 어느 것도 사용하지 않고 있습니다.

사이트에 몇 개의 동일한 태그가 반복되어 있는 것 같고, 이것이 문제의 원인으로 보입니다. 다만 다른 태그와 함께 사용될 때만 문제가 발생합니다. 두 개의 ‘web-dev’ 태그는 완전히 동일합니다.

콘솔에 표시되는 오류 코드는 다음과 같습니다:

POST Public Happiness 422

두 개의 “web-dev” 태그를 어떻게 만들었나요? :thinking:

네일, 저도 그걸 알고 싶어요 :upside_down_face:

보통은 게시글을 만들 때 태그를 생성합니다.

태그를 사용하는 플러그인이 몇 개 있는데, 그중 어느 것도 'web-dev’를 태그로 정의하지는 않습니다. 물론 과거에는 그랬을 수도 있겠죠. 저희 메뉴 링크 컴포넌트는 'web-developers’를 사용하고 있습니다.

안디, 안녕! 이렇게 고생하고 있어 정말 미안해. 네 사이트의 태그 페이지 링크(Public Happiness)가 조금은 도움이 될 것 같아 - 네가 보듯이 거기에 좀 이상한 문제들이 꽤 있어… 태그 그룹이 없다는 건 알아두면 좋은 점이지. 이름순(알파벳순)으로 정렬해 보면 D 뒤에 공백 태그들이 나오는 걸 볼 수 있을 거야… 꽤 이상하고 더 큰 문제를 시사하는 신호야.

안전 모드에서, 공식 플러그인만 사용하고 테마 커스터마이징을 비활성화한 상태로 같은 문제가 발생하는지 확인해 줄 수 있어?

원하지 않는 비공식 태그 플러그인을 app.yml에서 제거하거나 주석 처리한 후 인스턴스를 다시 빌드해 봤어? 아마 여전히 어떤 영향을 미치고 있을 수도 있어.

여러 태그를 저장할 때 문제가 생길 때마다 공백이 발생한다고 추측하고 있어. 태그 페이지에 여러 번 표시되는 것처럼 분명히 이상한 태그들도 포함해서 말이야. 태그 페이지를 불러온 뒤, 문제를 다시 재현해 보고, 새로운 공백 태그가 추가되는지 확인하면 테스트해 볼 수 있어.

위 내용 외에… 내가 너라면 태그 정리를 먼저 시작할 거야. :slight_smile: 일반적으로 태그를 너무 많이 두는 건 좋지 않고, 한 번만 표시될 가능성이 높은 태그는 절대 두지 않는 게 좋아. 태그 페이지를 통해 태그를 삭제하거나 병합할 수 있어. 중복으로 나타나는 태그들은 삭제하거나, 임시 태그로 병합한 뒤 원본이 삭제되었는지 확인하고, 원하는 태그 이름으로 다시 이름을 바꾸는 걸 추천해.

이러한 상황에서 태그 이름을 사용하는 UI는 예상치 못한 동작을 할 수 있습니다. rails 콘솔을 사용하여 모든 중복된 태그 레코드와 이름이 공란인 태그를 삭제해야 합니다. 그런 다음, 이러한 문제를 일으키는 버그가 있는 플러그인을 확인해야 합니다. 또한, 태그 테이블에는 중복된 태그 이름을 방지해야 할 인덱스가 누락되어 있을 가능성이 큽니다.

@syl 이 현상이 Docuss의 버그로 인해 발생하는 것일 수 있나요? 태그를 비정상적으로 처리하고 있어서요. 사용되지 않는 태그를 삭제하는 옵션이 있는데, 그중 약 절반이 docuss 태그였습니다. 나머지는 삭제된 게시물에서 비롯된 것으로 보입니다. (빈 태그는 포함되지 않아요.)

@Andy02:

  1. /tags 페이지의 빈 태그는 Docuss 때문에 발생합니다. 원인을 설명하기 위해 문서에 해당 섹션을 추가했습니다. 관리자로 로그인한 상태에서 Alt+a 키를 누르면 빈 태그를 표시할 수 있으므로 문제를 더 쉽게 해결할 수 있습니다.

  2. 중복 태그나 “Tag is Invalid”(태그가 유효하지 않음) 메시지는 Docuss와 무관하다고 생각합니다. Docuss를 비활성화해 보고 “Tag is Invalid” 메시지가 사라지는지 확인해 주세요. 사라진다면 주저하지 말고 Docuss 저장소에 이슈를 등록해 주세요.

hidden/blank 태그에 대한 부분은 이제 명확해졌습니다. 하지만 동작은 여전히 발생하므로 다른 원인이 있을 것입니다. 계속 조사 중입니다.

음, 원인이 뭔지는 확신할 수 없지만, 지금까지 파악한 내용은 다음과 같습니다.

이 오류는 모든 플러그인이 활성화된 상태의 안전 모드에서도, 그리고 테마를 비활성화했을 때도 발생합니다. 이것이 표준(스톡) 설치 자체의 버그라는 뜻은 아닙니다. 오히려 어떤 플러그인이 중복된 태그를 데이터베이스에 삽입해 두었고, 플러그인을 비활성화해도 여전히 남아 있어 문제를 일으키고 있을 가능성이 더 높습니다.

이를 수정하기 위해 중복된 태그를 검색하여 다른 이름으로 변경하고 있습니다. (예: 'web-dev’를 'webdev’로 변경)

일부 태그는 태그 목록에 게시글로 설정되어 있지만 목록에 표시되지 않는다는 점을 발견했습니다. 예를 들어 사이트에는 ‘web-dev’ 태그가 12개 남았다고 알려주지만, 검색 기능으로는 그 태그를 찾을 수 없습니다.

많은 게시글의 태그 입력란에 동일한 태그가 두 개씩 들어가 있으며, 하나를 삭제하면 다른 하나도 함께 삭제됩니다.

가장 유력한 추측은, 문제를 일으키는 태그가 게시글 본문 안에도 링크로 삽입되고 있다는 것입니다. 즉, 누군가 게시글 본문에 #web-dev를 입력하면 태그가 생성되고, 해당 태그가 이미 게시글 제목에 있는 경우 중복이 생성되는 것입니다.

이 상황을 강제로 재현시켜 관찰해 볼 예정입니다.

하지만 다른 문제도 있는 것 같습니다. 이 검색 결과를 보면, 이미 태그를 변경해 두었음에도 불구하고 최상단 게시글에 'web-dev’가 없는 것처럼 보이지만, 검색 기능은 여전히 어딘가에 존재하는 것으로 인식하고 있습니다.

수정: 마지막 부분은 무시해 주세요. 검색이 단순히 직관적으로 동작하고 있었을 뿐입니다. " web-dev "로 동일한 검색을 수행하면 오탐 결과가 제거됩니다.

..하지만 '추천 주제’는 '검색’에서 볼 수 없는 태그를 여전히 찾고 있습니다:

업데이트: 여전히 문제가 발생하고 있습니다. 제가 찾을 수 있는 유일한 중복 태그는 web-dev입니다. 제가 또는 검색창으로 찾을 수 있는 모든 태그를 삭제했습니다. 이제 web-dev 태그로 게시물을 작성하면 ‘잘못된’ 오류 메시지가 표시되는 대신 게시물이 정상적으로 등록됩니다. 시스템이 포럼 어딘가에 있다고 알려주는 다른 세 개의 태그를 찾으려고 web-dev 태그를 클릭하면 404 오류가 발생합니다. 이 태그들이 게시물 안에 있는지, 아니면 데이터베이스 어딘가에 숨겨져 있는지 확신이 서지 않습니다.

여기가 테스트 게시물입니다. 저는 web-dev 태그를 우리 포럼에서 정성스럽게 제거했는데, 이 태그로 작성한 게시물입니다. 이 시점에서 데이터베이스에서 이 태그를 직접 삭제해야 할까요? (다른 태그로 인한 문제는 보이지 않습니다).

음, 이제 우리 사이트에서 ‘web-dev’ 태그를 찾아서 삭제한 뒤, ‘사용하지 않는 태그 삭제’ 도구를 사용하니 고쳐진 것 같습니다.

정확한 원인을 파악하지 못해서, 앞으로 다른 분들에게 더 도움을 드리기 어렵네요. 다시 발생하면 지켜보겠습니다.

여러분이 수정했던 제목을 제가 다시 수정했습니다. 어떤 플러그인이 원인이었는지 확실하지 않습니다. 사실, Docuss만은 가능성이 낮아 보입니다. 해당 플러그인 제작자가 직접 방문해 코드가 문제인지 확인해 보았는데, 자기 코드 때문이 아니라고 생각했거든요.