2012-11-13 20 views
5

Ich verwende das Ransack-Juwel in meiner Rails-Anwendung und es funktioniert großartig. Mein aktuelles Problem ist die Validierung. Dies ist im Wesentlichen eine zweiteilige Frage.Werte basierend auf Bedingung

Wie kann ich Validierungen basierend auf der Bedingung zum Wertfeld hinzufügen. I.E. Wenn das Jahr das ausgewählte Attribut ist, wie kann ich das Wert-Textfeld als Auswahlfeld mit einer Liste von Jahren ändern?

Auch benutzerdefinierte Dinge wie, wenn die Bedingung ist ein "Congressional District", muss ich die Möglichkeit zu überprüfen, dass der Wert ist nur 3 Zeichen lang mit den ersten beiden eine staatliche Abkürzung.

Antwort

1

Es scheint, es gibt eine Pull-Anfrage, um dieses wertvolle Feature zu dem Edelstein hinzuzufügen, wir hoffen, dass es passieren wird. Hier ist die Beschreibung der Änderungen (Zitat aus der GitHub discussion, vor 15 Tagen):

Ich möchte nur bestätigen, dass dies immer noch ein nützliches Feature für uns ist, aber ein anderer Ansatz wäre, explizit einen guten Standard anzugeben Bestellung in lib/ransack/constants.rb. Zum Beispiel ist hier die Reihenfolge wir entschieden haben:

:cont, :not_cont, :blank, :present, :start, :not_start, :end, :not_end, 
:true, :false, :eq, :not_eq, :lt, :gt, :lteq, :gteq, :null, :not_null, 
:in, :not_in, :matches, :does_not_match 

Wir sind Filterung Prädikate basierend auf Spaltentyp (string, integer, Datum, etc.), so dass diese Bestellung setzt gute Standardwerte für jeden Typ.

EDIT: Here is an interesting solution zum Erstellen von Facetten und Filter mit Ransack.

Verwandte Themen