如何在视图中不从数据库中呈现错误值?

时间:2016-03-04 15:27:52

标签: ruby-on-rails ruby database

我正在开发一个应用程序,它为订阅或未订阅的客户提供布尔值。我有一个视图,为管理员呈现客户列表,但我不希望此列表包含“未订阅”客户。关于如何完成这项工作的任何想法?这是一个简单的功能,但我是rails的新手,只是寻找一些信息。

2 个答案:

答案 0 :(得分:3)

在模型中添加scope以过滤仅订阅的用户:

scope :subscribed, -> { where(subscribed: true) }

然后将该范围添加到构建用户集合的方法中:

@users = User.subscribed

这些是非常通用的示例,因此可以为您的课程量身定制。

答案 1 :(得分:2)

ActiveRecord是数据库的抽象(SQL,我假设)。可能你有类似

的东西
def index
  @users = User.all
end

在您的控制器中?

现在您需要对其进行扩展,以过滤掉您不想显示的用户:

def index
  @users = User.where('status = ?', 'subscribed')
end

(确切的查询当然取决于您的数据库表格布局)