Chcę sprawdzić, czy atrybut ciągu nie jest równy zero, ale zezwala na puste ciągi.
Jak w:
validates name: not_nil, allow_empty: true
Odpowiedzi:
2 dla odpowiedzi № 1możesz także:
validates :name, exclusion: { in: [nil] }
1 dla odpowiedzi nr 2
Aby zezwolić na pusty ciąg znaków, ale odrzucić zero w aktywnym wywołaniu zwrotnym sprawdzania poprawności rekordów, użyj warunkowego proc, aby warunkowo wymagać obecności atrybutu, jeśli nie jest to zero.
Kod wygląda więc tak:
validates :name, presence: true, if: proc { name.nil? }
Ale prawdopodobnie chcesz zezwolić na zero. Następnie nie sprawdzaj poprawności. Nadal sprawdź obecność w kodzie w kodzie zerowym lub pustym ciągu.