我的数据库迁移文件中有这些字符串/文本字段:
t.string :author
t.string :title
t.string :summary
t.text :content
t.string :link
这些是我的问题:
我理解,这些问题对某些人来说可能看起来不重要,但仍然 - 这是对输入的验证,这是任何应用程序所必需的, - 我认为在这里相当偏执是值得的。
最佳答案
这个问题很好,也许对 rails/mysql 内部知识有更多了解的人将能够扩展更多。
1) 在模型中进行任何验证取决于您希望在超出限制的情况下发生故障的位置。该模型是最好的选择,因为它很可能会覆盖使用该模型的大多数对象。
其他替代方法是使用 maxlength 属性简单地限制表单字段。
第一个选项不适用于可选字段。
2)我不知道任何经验法则。使用你所知道的最长的,并让它更大一点。
3)我的规则是任何高于 255 的都是文本。您可以在此找到更多信息 Here
4)如果该列包含相同的内容 - 可能会有值(value)。某些用例可能具有不同的 maxlength,具体取决于内容类型或用户。
以上所有内容还受到项目中数据验证要求的严格程度的影响。
关于ruby-on-rails - Rails ActiveRecord 验证 : maximum length of a string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988963/