2009-10-30 8 views
1

내 앱에 댓글 모델이 있지만 수동으로 제거해야하는 문제가 많은 게시물이 있습니다.Rails 앱의 댓글 모델에 '운영자 관심을위한 깃발'기능을 구현하는 방법은 무엇입니까?

내가하고 싶은 일은 '운영자 관심 집중 기능'기능을 추가하여 앱 사용자가 앱의 모든 콘텐츠를 검토 할 필요없이보기에서 댓글을 삭제할 수 있도록하는 것입니다.

댓글이 3 번 신고 된 후 자동으로보기에서 제거하고 내가이 게시물을 검토 할 기회가 주어지면 댓글을 허용할지 영구히 삭제할지 결정할 것입니다.

문제를 해결하는 방법은 문제가 있습니다.

플래그가 지정된 모든 항목을 기록하는 별도의 테이블을 만들어야합니까?

또는 코멘트가 플래그 된 횟수를 추적하는 코멘트 테이블의 일부로 "플래그 카운트"필드를 사용해야합니까?

별도의 표를 사용하면 신고하는 행동, 누가 신고했는지, 어떤 신고를했는지 등의 신고 작업에 대한 자세한 정보를 추적 할 수 있습니다. 이것이 제가 생각하는 것입니다.

하지만이 유형의 작업을 수행하는 보석 또는 플러그인이 이미 존재합니까?

답변

1

나는 플러그인을 모른다. 나는 당신이 기울고있는 해결책을 좋아합니다.

3 개의 깃발이 생성 된 후 댓글을 숨기려면 댓글을 만든 사람을 추적하여 사람들이 한 번만 표시하도록해야합니다.

그때 (사용자가 특정 의견에 할당 할 수있는 플래그의 모든 종류를 저장할 수)를 flag 자원, commentsflags을 연결하고 (신고를 담당하는 기관에 대한 정보를 보유하고 flagging 리소스를 만들 것하는 IP로 대표되는 사용자 또는 사용자 일 수 있음).

모든 comment에는 많은 flaggings이 있습니다.

상태 기계를 사용하여 세 개의 깃발이 추가 된 후 댓글 상태를 "to_be_revised"또는 이와 비슷한 것으로 변경할 수 있습니다. 상태 머신 (aasm_state_machine 또는 Rails에 직접 통합 된 시스템)은 동일한 상태의 주석 그룹에 대해 named_scopes를 제공합니다.

수정 후 상태를 다시 "게시 됨"으로 설정하고 모든 깃발을 삭제하거나 "게시 불가능"으로 설정하여 영원히 숨길 수 있습니다.

관련 문제