在Proc中,我想验证提供的语句是否返回true。
我尝试了以下内容:
validate :home, Proc.new { |c| c.home.kitchen.present? }
它不起作用。没有厨房时,它不会显示验证错误。
我必须这样写:
validate :home_kitchen_must_be_present
def home_kitchen_must_be_present
....
或者是否有可用的语法将其写入一行?谢谢
答案 0 :(得分:0)
使用proc
验证:home,presence:true,if:Proc.new {| c | c.home.kitchen.present? }
使用方法:
validates :home, presence: true, if: :home_kitchen_must_be_present
def home_kitchen_must_be_present
true # do your checking and return true or false
end