2012-11-13 18 views
5

Używam klejnotu Ransack w mojej aplikacji Rails i działa świetnie. Mój obecny problem to sprawdzanie poprawności. Jest to zasadniczo dwuczęściowe pytanie.Wartości oparte na warunku

Jak dodać weryfikacje do pola wartości na podstawie warunku. TO ZNACZY. jeśli Rok jest wybranym atrybutem, w jaki sposób mogę zmienić pole tekstowe wartości na pole wyboru z listą lat?

Również niestandardowe rzeczy, jeśli warunek jest ustawiony jako "Dystrykt Kongresowy", potrzebuję możliwości sprawdzenia, czy wartość ma tylko 3 znaki, a pierwsze dwa są skrótem stanu.

Odpowiedz

1

Wygląda na to, że istnieje prośba o dodanie tej cennej funkcji do klejnotu, mamy nadzieję, że tak się stanie. Oto opis zmian (cytat z GitHub discussion, datowany 15 dni temu):

Chciałbym tylko potwierdzić, że jest to nadal przydatna funkcja dla nas, ale innym podejściem byłoby wyraźne określenie dobrej wartości domyślnej kolejność w lib/ransack/constants.rb. Na przykład, oto kolejność zdecydowaliśmy się na:

: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 

Jesteśmy predykaty filtrowanie na podstawie typu kolumny (string, Integer, daty, itp), więc to dobre zamawianie ustawia wartości domyślne dla każdego typu.

EDYTOWANIE: Here is an interesting solution o tworzeniu faset i filtrów za pomocą funkcji Ransack.