2016-07-03 8 views
0

Ich versuche, eine Teilmenge meiner Benutzer mithilfe von Bereichen zu erstellen.Rails 5 Bereiche und Arrays von Enums

enum role: [ :client, :vendor, :agent, :accounting, :admin ] 
scope :staff, -> { where(role: [:agent, :accounting, :admin]) } 

Es funktioniert gut für die Auswahl der Liste (User.staff.all funktioniert), aber ich würde wirklich gerne die "?" Fähigkeit, leicht zu überprüfen - jetzt habe ich es gehackt mit

<% if (current_user.admin? || current_user.agent? || current_user.accounting?) %> 

Sicher es muss einen besseren Weg geben!

Antwort

0

Sie können die folgende Methode in der User-Modell definieren

def staff? 
    User.staff.where(id: self.id).present? 
end