我有一个嵌套属性的验证器:
validates_numericality_of :rate, greater_than: 0, if: -> {self.user.is_tutor?}
其中is_tutor是父表单中的布尔字段。
尽管尝试了很多次,但验证似乎并不像我希望的那样。我希望它将传递给更新表单的params [:is_tutor]值,但我的验证器始终检查存储在数据库中的值。
如何设置:if => to the params hash for boolean value is_tutor?我尝试过params [:is_tutor]但是没有用。
我也试过把它放在父母身上:
validates_numericality_of :rate, greater_than: 0, if: :is_tutor?
这看看:is_tutor的现值,这就是我想要的。但是,它找不到:rate符号,因为它是嵌套属性。
有什么想法? 谢谢!
答案 0 :(得分:0)
虽然我没有测试它,但这应该可行。
validates_numericality_of :rate, greater_than: 0, if: -> (r) {r.user.is_tutor?}