Rails ActiveRecord Bereich, der das "Gegenteil" eines anderen Bereichs ist oder Benutzer, denen eine Eigenschaft fehlt

8

Ich habe ein Modell für user.rb, in dem ich einen Bereich für admins definiere, also Benutzer, die über eine Berechtigungstabelle die Rolle des Administrators innehaben.

%Vor%

Der Umfang funktioniert wie folgt:

%Vor%

Ich würde auch gerne einen Bereich namens non-admins oder etwas ähnliches machen, was alle Benutzer sind, die NICHT die Admin-Rolle haben.

Was ist der einfachste Weg, dies zu tun?

    
isthmuses 18.01.2013, 19:56
quelle

2 Antworten

0

Ein einfacher Weg, der für viele Benutzer nicht performant ist :

%Vor%     
Kris 19.05.2013, 20:17
quelle
6

Wenn Sie eine invertierte SQL-Abfrage haben möchten, müssen Sie dies manuell tun. Es gibt keine integrierte ActiveRecord-Lösung.

%Vor%

Wenn es viele Bereiche gibt oder sie komplex sind, sollten Sie sie mit der ID ausschließen:

%Vor%

Abhängig von der Anzahl der Zeilen und der Komplexität der ursprünglichen Abfrage könnte dies langsamer oder schneller als zuvor sein.

    
Simon Perepelitsa 22.05.2013 12:49
quelle