我的应用程序中有一个评论模型,但遇到了很多有问题的帖子,我必须手动删除。
我想要做的是添加“主持人关注的标记”功能,以便该应用的用户能够从视图中删除评论,而无需查看应用中的所有内容。
我认为在评论被标记三次后,我会自动将其从视图中删除,然后当我有机会查看这些帖子时,我将决定是允许它们还是永久删除它们。< / p>
我遇到的问题是如何实现这一点。
我是否应该有一个单独的表来记录所有已标记的项目?
或者我应该在“注释”表中添加“标记计数”字段,以跟踪注释被标记的次数?
一个单独的表格可以让我跟踪有关标记操作的详细信息 - 谁正在标记,他们正在标记哪些IP,等等。这就是我倾向于的。
但也许已经存在这样做的宝石或插件?
答案 0 :(得分:1)
我不知道任何插件。我喜欢你倾向于的解决方案。
如果您想在为其创建三个标记后隐藏评论,则需要跟踪创建它们的人员,以便人们只标记一次。
我创建了一个flag
资源(可以包含您的用户可以分配给特定评论的任何类型的标记),然后创建一个flagging
资源,将flags
与{{1}连接起来并保存有关负责标记的实体的信息(可以是用户或由IP代表的用户)。
每个comments
将有许多comment
。
添加三个标记后,您可以使用状态机将注释的状态更改为“to_be_revised”或类似内容。状态机(aasm_state_machine或现在直接包含在Rails中的机器)也将为具有相同状态的注释组提供named_scopes。
修订后,您可以再次将状态设置为“已发布”并删除所有标记或“取消发布”,并将其永久隐藏。
答案 1 :(得分:0)
也许acts-as-flaggable插件可行。