问题描述
rails 5.2
,ruby 2.6.4
Student
记录包含以下字段,部分为:
fname,lname,emplid,class_code,...
class_code是1,2,3,4位数字。
1 = freshman
2 = sophomore
3 = junior
4 = senior
我有一个验证:
validates_inclusion_of :class_code,:in => Constants::CLASS_CODES,message: "The class code,%{value},is not considered a valid class code."
这行得通,但是如果我能告诉该错误发生在哪个学生记录上,这将非常有帮助。我想将字段emplid
添加到错误消息中。这可能吗?
类似的东西:
message: "For student {emplid},%{value} is not considered a valid class code."
感谢任何提示。
解决方法
您可以将lambda传递给message
。
validates_inclusion_of :class_code,:in => Constants::CLASS_CODES,message: ->(student,options) { "For student #{student.emplid},#{options[:value]} is not considered a valid class code." }