0

如何使帖子待处理并等待管理员批准?

我正在使用 CanCan 来制作角色。我的角色是一个单独的模型。用户拥有多个角色:通过分配

当管理员打开帖子索引有待处理的帖子时,我需要一些东西来通知管理员。

我想要这样的东西 侧边栏有已批准的帖子 (x) 待处理的帖子 (x) 已删除的帖子 (x) 其中 x 是一个可变数字是指帖子的数量

4

1 回答 1

0

在模型中创建过滤器

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,并且还有其他方法可以做到这一点。

于 2013-07-10T09:40:30.173 回答