2009-05-20 9 views

Odpowiedz

4

Może to być spowodowane literówka?

": maxlenght => 40" w Twoim poście jest źle napisany.

EDIT:

nie uważnie przeczytać Twój post. Myślę, że nie ma atrybutu maxlength dla textarea w HTML. Będziesz musiał sobie z tym poradzić w JavaScript. Więcej informacji w "MaxLength on a Textarea".

+0

Im przykro rzeczywiście Jego poprawne w kodzie i orkisz to źle tutaj –

+0

Proszę zobaczyć do edytowanej pytanie –

+0

thnx kumpla ponieważ żaden inny iść ..... I napisałem funkcję javascript do implementacji tego ... –

13

Tak jak w przypadku Rahul, w kodzie HTML nie ma atrybutu maxlength dla textarea. Tylko textinput ma to.

Trzeba pamiętać, że funkcja RoR text_area (i wszystkie funkcje generatora HTML RoR) akceptują każdy argument, który im podasz. Jeśli nie rozpoznają parametru, to po prostu przekształci go w HTML.

<%=f.text_area :data, :hellothere => "hello to you too"%> 

wyjście będzie to HTML:

<textarea name="data" hellothere="hello to you too"></textarea> 

Wiem, że to trudne do zapamiętania, ale Ruby on Rails nie jest magia, to po prostu robi wiele rzeczy dla Ciebie. Sztuką jest wiedzieć, jak to robi, więc możesz zrozumieć, dlaczego one działają i jak je naprawić, gdy tego nie robią!

+4

Istnieje atrybut 'maxlength' dla' textarea' od HTML5. Niestety nie jest obsługiwany w IE przed 10. Zobacz MDN dla [pełne szczegóły] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea). –

+1

+1 dla "Wiem Trudno jest pamiętać, ale Ruby on Rails nie jest magią" – 0112

+2

Źródła o maksymalnej długości dla HTML5: http://www.w3schools.com/tags/att_textarea_maxlength.asp https: // developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes – 0112

0

Nie ściśle co jesteś po oczywiście, ale zawsze można umieścić:

validates_length_of :data, max: 40 

modelu. nie zatrzyma rozmiar textarea oczywiście :)