Ich habe eine Ruby on Rails-App erstellt, mit der Benutzer Trainings nachverfolgen können. Ich erlaube ihnen, ein Workout privat oder öffentlich zu machen, das mit der Ganzzahl 1
bis Workout.share
bezeichnet wird.
Jetzt versuche ich bestimmte Teilmengen dieser public_workouts
anzuzeigen. Ich rufe alle public_workouts
durch eine named_scope:Entfernen von Datensätzen mit leerem Feld durch ein named_scope
# workouts_controller.rb
@workouts = Workout.public_workouts.all
...
# workout.rb
named_scope :public_workouts, :conditions => {:share => 1}
Die Workout Tabelle auch eine Spalte für rounds
hat. Ich möchte die Ausgabe von public_workouts
auf nur Datensätze beschränken, die etwas in workout.rounds
haben. Ein anderes Wort, wenn workout.rounds
leer ist, möchte ich das nicht enthalten.
Was ist der beste Weg, dies zu tun?
UPDATE:
Ich habe erwähnt, dass ich Schienen 2.3.8
nicht zu funktionieren scheint, aber ich gescheitert Erwähnen Sie, dass ich Schienen 2.3.8 verwende, würde das die Syntax ändern? – bgadoci
das würde aber nicht davon ausgehen, dass workouts.rounds nicht NULL ist versuchen Sie ändern IS NOT NULL auf <> '' (das sollte blanc string darstellen - aber ich versuche das nicht) – codevoice
Ah, das hat tatsächlich funktioniert. Ich habe versucht, dies auch auf eine andere Spalte anzuwenden, die ich habe, das ist eine Zeichenkette. Was wäre anstelle von IS NOT NULL erforderlich, um zu überprüfen, ob die Zeichenfolge leer ist? – bgadoci