任何人都知道是否有任何内置到轨道中的效果validates_signularity_of :string
?我找不到任何类似的文档,但只是想检查一下。我想验证用户可以输入的字符串始终是单数单词。
问问题
164 次
1 回答
1
一种方法是利用该singularize
方法。
如果对字符串进行单数化会产生相同的字符串,则该字符串已经是单数的。否则,它是复数。
像下面这样的自定义验证器可能会起作用:
class SingularValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value.to_s.singularize == value
object.errors[attribute] << (options[:message] || "is not singular")
end
end
end
然后在你的模型中:
validates :column_name, :singular => true
信用:从 Ryan 的 Railscast #211 中提取的自定义验证器的基本结构
于 2012-04-04T18:49:34.957 回答