Frage

Ich habe eine Tabelle namens Benutzer (class User < ActiveRecord::Base) und eine Unterklasse/STI von IT für Kunden ((class Client < User).

Die "Filterung" des Clients funktioniert wie erwartet, mit anderen Worten Client.find (: All) arbeitet, um alle Clients zu finden.

Für Benutzer muss ich jedoch das Ergebnis filtern, um nur Benutzer zu finden, die keine Clients sind (wobei der Typ null oder leer ist).

Ich habe Folgendes in meinem Indexcontroller ausprobiert, aber egal was ich für den Typ einsetzt, es gibt alle Benutzer zurück, unabhängig vom Typ.

User.find(:all, :conditions => { :type => nil }, :order => 'name')

Irgendwelche Ahnung, wie dieser Zustand funktioniert?

Vielen Dank!

War es hilfreich?

Lösung 2

Ok, hat es herausgefunden!

Die App verwendet eine LIB für die Standard -Controller -Methoden (ähnlich wie mit Ressource_Controller) und ich habe die Indexmethode im Benutzercontroller fälschlicherweise überschrieben.

Danke für die Hilfe Achim !!

Andere Tipps

Ich weiß nicht, wie das Attribut "Typ" gefüllt ist. Wenn Typ jedoch eine Datenbankspalte ist, können Sie sie durch einen geeigneten SQL -Ausdruck filtern:

User.find(:all, :conditions => [ " type=null or type='' "])

Oder meinst du die Funktion "Klasse"? "Typ" ist soweit ich weiß. IRB erklärt: Warnung: Objekt#Typ ist veraltet; Verwenden Sie Objekt#Klasse

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top