我正在处理一个项目,我想将应用程序中使用的所有字符串移动到一个文件中,以便可以轻松更改和更新它们。但是我在自定义验证方面遇到了问题。我在我的应用程序中有如下验证:
validate :thing_is_correct
def thing_is_correct
unless thing.is_correct
errors[:base] << "Thing must be correct"
end
end
我不确定如何将“事物必须正确”移入我的 en.yml 文件并移出模型。任何帮助将不胜感激。
要做到这一点,Rails 的方法是使用指南中描述的机制。
errors
是 的一个实例ActiveModel::Errors
。可以通过调用添加新消息ActiveModel::Errors#add
。正如您在文档中看到的,您不仅可以传递消息,还可以传递表示错误的符号:
def thing_is_correct
unless thing.is_correct?
errors.add(:thing, :thing_incorrect)
end
end
活动模型将自动尝试从指南中描述的命名空间中获取消息(请参阅上面的链接)。实际消息是使用 生成的ActiveModel::Errors#generate_message
。
总结:
errors.add(:think, :thing_incorrect)
thing_incorrect
之一下添加。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句