Mam modelu komentarz gdzie ograniczyć maksymalną długość komentarza jak:Rails, walidacji maxLength pola wejściowego
validates_length_of :comment, :maximum => 500
Moim zdaniem mam pole wejściowe oświadczył:
<%= f.text_area :comment,:as => :text, :maxlength => 500 %>
Limit pola wejściowego działa zgodnie z oczekiwaniami, ogranicza się do maksymalnie 500 znaków.
Jednak limit modelu nie działa zgodnie z oczekiwaniami. Tekst 500 znaków z znakami nowej linii powoduje błąd sprawdzania poprawności. Model liczy nowe linie jako dwa znaki (i możliwe inne znaki również). Więc
Wejście to będzie działać, żadne nowe linie:
abc abc abc abc....
To nie będzie:
abc
abc
.
.
Czy istnieje prosty sposób na zarabianie validates_length_of liczyć nowe linie (i innych) jako jeden znak? .
=== Wynik1 ===
że łączy wielkie odpowiedzi Jon Dario, tworząc w ten sposób:
before_validation(:on => :create) do
self.comment = comment.gsub("\r\n","\n") if self.comment
end