如何访问Activerecord :: Validator中的validates_format_of?

时间:2014-12-12 18:21:00

标签: ruby-on-rails validation

我试图使用validates_format_of获取nomethod错误。我认为这是因为我使用" class [nameofclass]< ActiveRecord的::验证"和Validator缺乏这种方法。

我需要包含某些东西或使用其他继承,我不知道如何做到这一点。

codesource:https://github.com/sidhene/WebsiteOne/commit/7621a89300134f3899537ab5f35c2fa33d723b61

1 个答案:

答案 0 :(得分:1)

validates_format_of不能以这种方式工作,它意味着在保存数据库记录之前在数据库记录上创建挂钩并运行验证。它不能作为类实例的方法。

您可以做的是使用您创建的正则表达式并将其添加到条件:

validation_regex = %r{\.(png|jpg|jpeg)$}i
if record.image_url.present?
  unless is_whitelisted?(record.image_url) ||
      validation_regex.match(record.image_url?)
    record.errors[:image_url] = 'Invalid image url. Image provider not found in provider whitelist.'
  end
end