在RoR的“文本”字段中设置最大长度

时间:2013-04-23 10:10:09

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

是否有人设法为文本字段设置最大字段长度

如何设置文本字段的最大长度。 这是使用

的代码
<%= text_field_tag(:create_text), :input_html => {:maxlength => 15, :size => 40}  %>

但我似乎无法设置可输入的最大字符数 该领域。

4 个答案:

答案 0 :(得分:39)

以下是如何做到这一点:

<%= text_field_tag 'create_text', nil, :maxlength => 15, :size => 40 %>

来源:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag

答案 1 :(得分:13)

text_field_tag 中致电:

:size 与文本框的物理长度有关。它足够大,允许在框中显示许多字符。但是用户仍然可以输入更多。

:maxlength 是用户可以输入的最大字符数,无论文本框的物理大小如何。文本框可以更大或更小,但如果设置:maxlength =&gt; 5,他们只能输入5个字符。

如果这是您对数据库中数据的硬限制,则应设置验证。例如,这可以防止您在Rails代码中将其设置为更多字符。

validates_length_of :column_name, :maximum => 5

最后,对于皮带和吊带方法以及防止甚至针对数据库的代码设置错误值,您可以在数据库级别强制执行它。在某些情况下,除Rails应用程序之外的其他代码可能会更新数据库。即使在这种情况下,这也可以防止错误的数据。

在迁移中添加列,您可以这样做:

add_column :table_name, :column_name, :string, :limit => 30

答案 2 :(得分:1)

 <%= text_field_tag :"description", '', maxlength: 5   %>
<input type="text" name="description" id="description" value="" maxlength="5">

答案 3 :(得分:-4)

你可以试试这个

<%=text_field_tag 'create_text',:size=>40 %>