Как реализовать функцию «флаг для внимания модератора» на модели Comment в приложении Rails? - PullRequest
1 голос
/ 30 октября 2009

У меня есть модель комментариев в моем приложении, но я сталкиваюсь с большим количеством проблемных сообщений, которые я должен удалить вручную.

Я хочу добавить функцию «пометить внимание модератора», чтобы пользователи приложения могли удалять комментарии из представления без необходимости просматривать весь контент в приложении.

Я думаю, что после того, как комментарий был помечен три раза, я автоматически удалю его из просмотра, а затем, когда у меня будет возможность просмотреть эти публикации, я решу, разрешить ли им или навсегда удалить их из просмотра.

У меня проблемы с тем, как это реализовать.

Должна ли я иметь отдельную таблицу, в которой записаны все помеченные элементы?

Или я должен иметь поле «счетчик флагов» как часть таблицы комментариев, которое отслеживает, сколько раз был отмечен комментарий?

Отдельная таблица позволила бы мне отслеживать подробную информацию о действиях пометки - кто помечает, какой IP-адрес они помечают и т. Д. Это то, к чему я склоняюсь.

Но, возможно, уже существует гем или плагин, который делает подобные вещи?

Ответы [ 2 ]

1 голос
/ 30 октября 2009

Я не знаю ни одного плагина. Мне нравится решение, к которому вы склоняетесь.

Если вы хотите скрыть комментарий после того, как для него были созданы три пометки, вам необходимо отслеживать, кто их создал, чтобы люди могли пометить только один раз.

Я бы создал ресурс flag (который может содержать любые флаги, которые ваши пользователи могут назначить определенному комментарию), затем ресурс flagging, который связывает flags с comments и содержит информацию о сущности который отвечает за пометку (это может быть пользователь или пользователь, представленный IP).

Каждый comment будет иметь много flaggings.

Вы можете использовать конечный автомат, чтобы изменить статус комментария на "to_be_revised" или что-то подобное после добавления трех флажков. Конечный автомат (aasm_state_machine или тот, который теперь включен непосредственно в Rails) также предоставит вам named_scopes для групп комментариев с одинаковым состоянием.

После пересмотра вы можете снова установить состояние «опубликовано» и удалить все пометки или «неопубликованные» и скрыть его навсегда.

0 голосов
/ 19 декабря 2010

Возможно, плагин действует как флаг будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...