안디, 안녕! 이렇게 고생하고 있어 정말 미안해. 네 사이트의 태그 페이지 링크(Public Happiness)가 조금은 도움이 될 것 같아 - 네가 보듯이 거기에 좀 이상한 문제들이 꽤 있어… 태그 그룹이 없다는 건 알아두면 좋은 점이지. 이름순(알파벳순)으로 정렬해 보면 D 뒤에 공백 태그들이 나오는 걸 볼 수 있을 거야… 꽤 이상하고 더 큰 문제를 시사하는 신호야.
안전 모드에서, 공식 플러그인만 사용하고 테마 커스터마이징을 비활성화한 상태로 같은 문제가 발생하는지 확인해 줄 수 있어?
원하지 않는 비공식 태그 플러그인을 app.yml에서 제거하거나 주석 처리한 후 인스턴스를 다시 빌드해 봤어? 아마 여전히 어떤 영향을 미치고 있을 수도 있어.
여러 태그를 저장할 때 문제가 생길 때마다 공백이 발생한다고 추측하고 있어. 태그 페이지에 여러 번 표시되는 것처럼 분명히 이상한 태그들도 포함해서 말이야. 태그 페이지를 불러온 뒤, 문제를 다시 재현해 보고, 새로운 공백 태그가 추가되는지 확인하면 테스트해 볼 수 있어.
위 내용 외에… 내가 너라면 태그 정리를 먼저 시작할 거야. 일반적으로 태그를 너무 많이 두는 건 좋지 않고, 한 번만 표시될 가능성이 높은 태그는 절대 두지 않는 게 좋아. 태그 페이지를 통해 태그를 삭제하거나 병합할 수 있어. 중복으로 나타나는 태그들은 삭제하거나, 임시 태그로 병합한 뒤 원본이 삭제되었는지 확인하고, 원하는 태그 이름으로 다시 이름을 바꾸는 걸 추천해.
이러한 상황에서 태그 이름을 사용하는 UI는 예상치 못한 동작을 할 수 있습니다. rails 콘솔을 사용하여 모든 중복된 태그 레코드와 이름이 공란인 태그를 삭제해야 합니다. 그런 다음, 이러한 문제를 일으키는 버그가 있는 플러그인을 확인해야 합니다. 또한, 태그 테이블에는 중복된 태그 이름을 방지해야 할 인덱스가 누락되어 있을 가능성이 큽니다.
@syl 이 현상이 Docuss의 버그로 인해 발생하는 것일 수 있나요? 태그를 비정상적으로 처리하고 있어서요. 사용되지 않는 태그를 삭제하는 옵션이 있는데, 그중 약 절반이 docuss 태그였습니다. 나머지는 삭제된 게시물에서 비롯된 것으로 보입니다. (빈 태그는 포함되지 않아요.)
이 오류는 모든 플러그인이 활성화된 상태의 안전 모드에서도, 그리고 테마를 비활성화했을 때도 발생합니다. 이것이 표준(스톡) 설치 자체의 버그라는 뜻은 아닙니다. 오히려 어떤 플러그인이 중복된 태그를 데이터베이스에 삽입해 두었고, 플러그인을 비활성화해도 여전히 남아 있어 문제를 일으키고 있을 가능성이 더 높습니다.
이를 수정하기 위해 중복된 태그를 검색하여 다른 이름으로 변경하고 있습니다. (예: 'web-dev’를 'webdev’로 변경)
일부 태그는 태그 목록에 게시글로 설정되어 있지만 목록에 표시되지 않는다는 점을 발견했습니다. 예를 들어 사이트에는 ‘web-dev’ 태그가 12개 남았다고 알려주지만, 검색 기능으로는 그 태그를 찾을 수 없습니다.
많은 게시글의 태그 입력란에 동일한 태그가 두 개씩 들어가 있으며, 하나를 삭제하면 다른 하나도 함께 삭제됩니다.
가장 유력한 추측은, 문제를 일으키는 태그가 게시글 본문 안에도 링크로 삽입되고 있다는 것입니다. 즉, 누군가 게시글 본문에 #web-dev를 입력하면 태그가 생성되고, 해당 태그가 이미 게시글 제목에 있는 경우 중복이 생성되는 것입니다.
이 상황을 강제로 재현시켜 관찰해 볼 예정입니다.
하지만 다른 문제도 있는 것 같습니다. 이 검색 결과를 보면, 이미 태그를 변경해 두었음에도 불구하고 최상단 게시글에 'web-dev’가 없는 것처럼 보이지만, 검색 기능은 여전히 어딘가에 존재하는 것으로 인식하고 있습니다.
수정: 마지막 부분은 무시해 주세요. 검색이 단순히 직관적으로 동작하고 있었을 뿐입니다. " web-dev "로 동일한 검색을 수행하면 오탐 결과가 제거됩니다.
업데이트: 여전히 문제가 발생하고 있습니다. 제가 찾을 수 있는 유일한 중복 태그는 web-dev입니다. 제가 또는 검색창으로 찾을 수 있는 모든 태그를 삭제했습니다. 이제 web-dev 태그로 게시물을 작성하면 ‘잘못된’ 오류 메시지가 표시되는 대신 게시물이 정상적으로 등록됩니다. 시스템이 포럼 어딘가에 있다고 알려주는 다른 세 개의 태그를 찾으려고 web-dev 태그를 클릭하면 404 오류가 발생합니다. 이 태그들이 게시물 안에 있는지, 아니면 데이터베이스 어딘가에 숨겨져 있는지 확신이 서지 않습니다.
여기가 테스트 게시물입니다. 저는 web-dev 태그를 우리 포럼에서 정성스럽게 제거했는데, 이 태그로 작성한 게시물입니다. 이 시점에서 데이터베이스에서 이 태그를 직접 삭제해야 할까요? (다른 태그로 인한 문제는 보이지 않습니다).