宝石,更新和兼容性

时间:2010-11-19 22:38:08

标签: ruby-on-rails activerecord

我有一个用户模型,用户可以逐步在他们的个人资料(年龄,描述,头像等)上插入信息。只有在完成整个个人资料的情况下,才能在公共网站上查看这些用户。

什么是rails在限制查询时的最佳方式,而不会污染每次调用Active Record User模型。

是否有办法?
User.all

默认返回带有这些约束的结果?

很多!

1 个答案:

答案 0 :(得分:1)

您可以定义范围。

# user.rb
scope :complete, where("age IS NOT NULL", "description IS NOT NULL",...)

然后您可以执行User.complete,它将获取与这些条件匹配的User对象。有关更多信息:

http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html