我有3个模特:房子,房客和水管工。租户属于房子和房子有一个房客。我想使用需要管道工数据的自定义EachValidator。为此,在我的租户模型中:
attr_accessor :plumber_limit
在控制器中,我已将plumber_limit
设置为:
house.tenant.plumber_limit = plumber.value
当租户验证触发时,tenant.plumber_limit
值为nil,因此失败。我尝试为plumber_limit
添加公开定义。我尝试添加attr_accessible :plumber_limit
。我尝试过不同的符号。这是否失败,因为tenant
正在子环境中使用?如果是这样,我如何将plumber_limit
纳入tenant
的验证?
根据要求,这是验证码:
class UniquePlumberAssignment < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.property.limit(record.plumber_limit).each |p|
...
end
end
end