Ich habe diese Suche in Rails 3:Können Sie mehr als einen Vergleich an einem Datum in einer Rails 3-Suche durchführen?
Note.where(:user_id => current_user.id, :notetype => p[:note_type], :date => p[:date]).order('date ASC, created_at ASC')
Aber ich brauche die :date => p[:date]
Zustand :date > p[:date]
equivilent werden. Wie kann ich das machen? Danke fürs Lesen.
ist, dass sicher? Ich meine, wenn p [: Datum] von Benutzereingabe kam, kann es eine SQL-Injektion verursachen? – MhdSyrwan
Es ist sicher wegen 'where()'. Mit 'where()' wird die Eingabe automatisch entfernt. –
Simones Kommentar ist nicht ganz richtig; 'where()' entkommt automatisch der Eingabe, wenn es in dem oben gezeigten Format mit Fragezeichen anstelle von Variablen verwendet wird, wobei diese anschließend im Funktionsaufruf aufgelistet werden. Es ist NICHT sicher, es auf diese Weise zu verwenden: 'Note.where (" date> # {p [: date]} ")' – bdx