如何使帖子待处理并等待管理员批准?
我正在使用 CanCan 来制作角色。我的角色是一个单独的模型。用户拥有多个角色:通过分配
当管理员打开帖子索引有待处理的帖子时,我需要一些东西来通知管理员。
我想要这样的东西 侧边栏有已批准的帖子 (x) 待处理的帖子 (x) 已删除的帖子 (x) 其中 x 是一个可变数字是指帖子的数量
如何使帖子待处理并等待管理员批准?
我正在使用 CanCan 来制作角色。我的角色是一个单独的模型。用户拥有多个角色:通过分配
当管理员打开帖子索引有待处理的帖子时,我需要一些东西来通知管理员。
我想要这样的东西 侧边栏有已批准的帖子 (x) 待处理的帖子 (x) 已删除的帖子 (x) 其中 x 是一个可变数字是指帖子的数量
在模型中创建过滤器
def self.pending
where(status: 'pending')
end
def self.approved
where(status: 'approved')
end
然后使用:
Post.pending
如果您不想选择模型中的每个变量,也可以优化搜索参数。
在您看来,应该执行以下操作:
<%= Post.pending.size %>
好吧,这会给你计数。
或者,因为将它移到控制器中很好。您可以将此添加到您的控制器操作中:
@pending = Post.pending.size
然后在您的视图中使用以下内容:
<%= @pending %>
== 编辑 ==
要自动向用户帖子添加待处理并批准管理员帖子,您可以在控制器操作(更新和保存)中执行以下操作:
@post.pending = false if current_user.admin?
@post.save
或者将它放在不需要调用 save 来保存数据库查询的现有块中。
显然,假设在您的数据库中默认将pending 设置为true,并且还有其他方法可以做到这一点。