Ruby on Rails中textarea的最大长度

时间:2009-05-20 05:50:26

标签: ruby-on-rails textarea

我尝试应用:maxlenght =>在我的表单上的textarea上40。 但它没有成功。 我们可以对textarea进行长度限制吗?

文本区域的代码是

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

4 个答案:

答案 0 :(得分:13)

就像Rahul所说的那样,HTML中的maxlength没有textarea属性。只有text input才有。

你需要记住的是,RoR的text_area函数(以及所有RoR的HTML生成器函数)接受你将给予它们的任何参数。如果他们没有识别参数,那么只需将其转换为HTML。

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

将输出此HTML:

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

我知道这很难记住,但Ruby on Rails并不神奇,只是为你做了很多事情。诀窍是知道它是如何做到的,所以你可以理解它们的工作原理,以及如何解决它们的问题!

答案 1 :(得分:4)

可能是由于拼写错误吗?

你的帖子中的

“: maxlenght =&gt; 40”是拼错的。

修改

我没有仔细阅读你的帖子。我认为HTML中没有textarea的maxlength属性。您将不得不在JavaScript中处理它。 “MaxLength on a Textarea”中有更多信息。

答案 2 :(得分:0)

您可以使用maxlength属性。这是HTML5中标记的新功能。现在应该可以使用了。

答案 3 :(得分:0)

当然不是严格意义上的事情,但是,你可以随时提出:

validates_length_of :data, max: 40

在您的模型上。当然不会停止textarea大小:)