사용자가 투표로 시작할 때 다양한 오류를 범하는 경우가 많으며, 이러한 오류는 투표가 상당 부분 진행된 후에야 발견되는 경우가 많습니다.
불행히도 투표에 대한 편집은 투표 데이터를 초기화합니다. 이는 투표의 무결성을 유지하기 위한 것이므로 이해할 수 있지만, 사용자가 겪는 큰 문제를 간단한 조정으로 해결할 수 있을 때 이러한 초기화는 매우 바람직하지 않습니다.
그러나 Rails 콘솔을 통해 이 작업을 수행할 수 있습니다. 진행 중인 투표를 해킹하면 데이터는 보존되면서 투표의 동작 방식이 변경됩니다. 다만 마크다운은 수정되지 않습니다. 게시물을 다시 생성(rebake)할 때 어떤 일이 일어나는지는 확실하지 않지만, 투표가 원래의 동작 방식으로 되돌아갈 것으로 추정됩니다. 그때쯤이면 투표는 이미 오래되었고 잊혀졌을 가능성이 높으므로 큰 문제가 되지 않습니다.
핵심은 게시물의 ID를 찾는 것입니다. 이를 쉽게 찾는 방법은 다음 SQL 쿼리를 사용하는 것입니다(관심 있는 투표는 상단에 가까울 것입니다):
SELECT post_id as postid, *
FROM polls
ORDER BY id desc
사용자가 실수로 다중 선택이 아닌 단일 선택 투표로 만든 경우를 위한 투표 해킹 예시는 다음과 같습니다:
아마도 #unofficial-tip 또는 #dig-your-own-grave 같은 태그를 하나 더 추가하면 도움이 될 것 같습니다. 그러면 카테고리들이 주제에 더 부합하게 될 수 있지만, 특정 지식이 필요하다는 점과 실패할 위험이 크다는 점을 알려주는 지표도 함께 제공될 것입니다.
왜 UI에서 이 문제를 그냥 해결할 수 없을까요? 투표 무결성, 그거 그거. 보통 오타일 뿐인데, 그대로 두면 신경이 쓰이지만, 표을 초기화하는 것보다는 낫습니다. … 저는 그런 선택을 해야만 하는 상황이 아닙니다.
관리자가 원하면 나중에 수정할 수 있게 하면 안 될까요? 때로는 투표가 그냥 재미를 위한 것일 뿐이고, '무결성’을 유지하는 것이 최우선 순위는 아닙니다. 나중에 편집을 허용해도 전체가 깨져버리기 때문에 그 설정은 사실상 쓸모가 없습니다. 표를 잃지 않고 편집을 허용할 수 있는 설정이 있으면 좋겠습니다… 만약 우리가 사이트를 그렇게 운영하기를 원한다면 말이죠.