5

Chcę zastosować ogranicznik zakresu moim niestandardowym walidacjistosując zakres w szynach niestandardowych walidacji

mam ten produkt model który ma marki, modelu numer_seryjny, VIN jako atrybuty

Teraz mam zwyczaj walidacji, by sprawdzić, czy przed vin vin nie jest obecny, aby sprawdzić połączenie modelu marki + + numer_seryjny wyjątkowości w czymś bazy jak ten

validate: combination_vin,: if => „vin.nil?”

def combination_vin 
    if Product.exists?(:make => make,:model => model,:serial_number => serial_number) 
     errors.add(:base,"The Combination of 'make+model+serial_number' already present") 
    end 
end 

Chcę przedstawić zakres w tym walidator przed user_id

Teraz wiem, że mogłem napisać to, aby osiągnąć taki sam przy użyciu

def combination_vin 
    if Product.exists?(:make => make,:model => model,:serial_number => serial_number,:user_id => user_id) 
     errors.add(:base,"The Combination of 'make+model+serial_number' already present") 
    end 
end 

Ale z ciekawości Myślałam czy istnieje weryfikator zasięgu (coś podobnego do {: scope =>: user_id}) na niestandardowej walidacji , więc nie muszę przekazywać tego dodatkowego user_id w istnieje? hash

Dzięki

Odpowiedz

6

Spróbuj:

validate :combination_vin , :uniqueness => { :scope => :user_id } , :if => "vin.nil?" 
Powiązane problemy