很抱歉这么晚才发布这条内容——不过,对于那些正在 Meta 上搜索如何验证可能已添加的自定义字段的人来说,我想提一下如何通过插件来实现这一点。
在你的 plugin.rb 文件中,对 User 使用 validate 方法。然后你可以检查自定义字段,并在任何字段无效时设置错误:
require_dependency 'user'
validate User, :my_cool_validation_method do
field = self.custom_fields['cool_tapes']
if ! field.blank? && field.include?("bag of four grapes")
self.errors[:cool_tapes] << "No rhymes allowed."
end
end
注意::my_cool_validation_method 符号可以是任意名称,但在 User 模型的上下文中必须唯一。