如何在Sinatra / Active Record中限制数据库字符串值的字符/字数?
我的ActiveRecord
数据库中有一列我希望有一个字数限制。
基本上,我创建了一个允许用户输入文本(字符串)的表单。 我想限制该字符串中允许的字符数。
@allposts = Post.limit(20)
这是我目前在发布所有内容的/current
页面的get方法中所拥有的。 20 =显示的post数量。
我还有一个/new
页面,用户将发布新内容。
您可以通过几种不同的方式限制字符数:
1.定义您创建的HTML字段的限制:
通过更改maxlength属性。 从这里取的例子。
2.在用户模型中使用validates选项:
validates :attribute_you_want_to_limit, length: { maximum: 50 }
您可以在此处找到有关此选项的更多信息
3.在架构中设置限制:
t.string :your_attribute, :limit => 20
第一个选项不允许用户在字段中输入任何内容,第二个选项不允许保存对象,第三个选项不允许将属性保存到数据库中。
我推荐第二个选项。
您也可以通过几种不同的方式使用Javascript, 这里有一个很好的解释如何。