在RoR的“文本”字段中设置最大长度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在RoR的“文本”字段中设置最大长度相关的知识,希望对你有一定的参考价值。
有没有人设法为文本字段设置最大字段长度
如何设置文本字段的最大长度。这是我使用的代码
<%= text_field_tag(:create_text), :input_html => {:maxlength => 15, :size => 40} %>
但我似乎无法设置可以键入字段的最大字符数。
答案
以下是如何做到这一点:
<%= text_field_tag 'create_text', nil, :maxlength => 15, :size => 40 %>
资料来源:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag
另一答案
在text_field_tag调用中:
:size与文本框的物理长度有关。它足够大,允许在框中显示许多字符。但是用户仍然可以输入更多。
:maxlength是用户可以输入的最大字符数,与文本框的物理大小无关。文本框可以更大或更小,但如果设置:maxlength => 5,它们只能输入5个字符。
如果这是您对数据库中数据的硬限制,则应设置验证。例如,这可以防止您在Rails代码中将其设置为更多字符。
validates_length_of :column_name, :maximum => 5
最后,对于皮带和吊带方法以及防止甚至针对数据库的代码设置错误值,您可以在数据库级别强制执行它。在某些情况下,除Rails应用程序之外的其他代码可能会更新数据库。即使在这种情况下,这也可以防止坏数据
在迁移中添加列,您可以这样做:
add_column :table_name, :column_name, :string, :limit => 30
另一答案
<%= text_field_tag :"description", '', maxlength: 5 %>
<input type="text" name="description" id="description" value="" maxlength="5">
另一答案
你可以试试这个
<%=text_field_tag 'create_text',:size=>40 %>
以上是关于在RoR的“文本”字段中设置最大长度的主要内容,如果未能解决你的问题,请参考以下文章