How to have multiple conditions in a named scope?

后端 未结 3 1662
南方客
南方客 2020-12-18 04:58

I have a User model. I can check whether a User is an admin by doing a_user.try(:admin?).

I\'d like to define a named scope that gets all Users updated

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-18 06:01

    Instead of using lambda, I find it cleaner to use class methods.

    def self.recent
      where('updated_at > ?', 5.minutes.ago)
    end
    
    def self.admin
      where(admin: true)
    end
    
    def self.recent_and_admin
      recent.admin # or where('updated_at > ?', 5.minutes.ago).where(admin: true)
    end
    

提交回复
热议问题