验证轨道中字符串的奇异性



有人知道铁轨中是否有validates_signularity_of :string效果的东西吗?我找不到任何类似的文件,只是想检查一下。我想验证用户可以输入的字符串是否始终是单数。

一种方法是利用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 中提取的自定义验证器的基本结构

最新更新