Rails,DRY默认验证字符串长度?

Jam*_*hon 4 validation ruby-on-rails ruby-on-rails-4

所以我遇到一个问题,长度错误是rails异常,因为模型没有长度验证.

我知道我可以通过使用在我的字符串上放一个长度验证器

validates :blah, length: { maximum: 255 }
Run Code Online (Sandbox Code Playgroud)

但是我的大多数字符串都使用默认大小255,所以我必须在很多地方重复这个验证.

是否有一种DRY方法将默认验证器放在所有字符串上以验证默认数据库长度为255?

Gri*_*lse 6

gem schema_validations(https://github.com/SchemaPlus/schema_validations)可以满足您的需求.

根据数据库架构自动创建验证.

它检查数据库并根据模式自动创建验证.安装后,您的模型尽可能简单.

class User < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)

验证是存在的,但它们是由引擎盖下的schema_validations创建的.