Максимальная длина текстовой области в Ruby on Rails - PullRequest
13 голосов
/ 20 мая 2009

Я пытался применить :maxlenght => 40 к текстовой области в моей форме. Но это не сработало. Можем ли мы установить ограничение длины текстовой области?

Код для текстовой области:

<%= f.text_area :data,
                :rows => 2,
                :cols => 60 ,
                :maxlength => 140,
                :autocomplete => :off,
                :class => "textareabytes" %>

Ответы [ 3 ]

13 голосов
/ 20 мая 2009

Как и сказал Рахул , в HTML нет атрибута maxlength для textarea. Только у text input.

Необходимо помнить, что функция text_area в RoR (и все функции генератора HTML в RoR) принимают любой аргумент, который вы им дадите. Если они не распознают этот параметр, он просто преобразует его в HTML.

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

Выводит этот HTML:

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

Я знаю, что это трудно запомнить, но Ruby on Rails не волшебство, он просто многое для вас делает. Хитрость заключается в том, чтобы узнать, как это работает, чтобы вы могли понять, почему они работают, и как их исправить, когда они этого не делают!

4 голосов
/ 20 мая 2009

Может ли это быть из-за опечатки?

": maxlenght => 40" в вашем сообщении является опечаткой.

EDIT:

Я не внимательно прочитал ваш пост. Я думаю, что нет атрибута maxlength для textarea в HTML. Вам придется справиться с этим в JavaScript. Более подробная информация содержится в " MaxLength для Textarea ".

0 голосов
/ 10 апреля 2015

Конечно, не совсем то, что вы ищете, но вы всегда можете поставить:

validates_length_of :data, max: 40

на вашей модели. Конечно, размер текстовой области не остановится:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...