假设我有一个类,如下所示:
class Book < ActiveRecord::Base validates :title,:length => {:maximum => 10} end
有没有办法(安装宝石?)我可以让ActiveRecord根据最大长度自动截断值?
例如,当我写:
b = Book.new b.title = "123456789012345" # this is longer than maximum length of title 10 b.save
应该保存并返回true吗?
如果没有这样的方式,你会如何建议我更普遍地面对这样的问题?
解决方法
好吧,如果你想要将值截断,如果它太长,你就不需要验证,因为它总是会通过.我会像这样处理:
class Book < ActiveRecord::Base before_save :truncate_values def truncate_values self.title = self.title[0..9] if self.title.length > 10 end end