plehoux
plehoux

Reputation: 795

Gem, update and compatibility

I have a User model, the user can gradually insert information on their profile (age, description, avatar, etc..). Those users can be viewed in the public web site only if they have complete their entire profile.

Whats is the best way in rails to put constraint on query without polluting every single call to Active Record User model. Is there're a way for

User.all

to return result with those constraints by default?

Tks a lot!

Upvotes: 0

Views: 28

Answers (1)

icecream
icecream

Reputation: 1425

You could define a scope.

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

Then you can just do User.complete and it will fetch User objects matching those conditions. For more information:

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

Upvotes: 1

Related Questions