我有 3 个模型:房屋、租户和管道工。租户属于_to 房子和房子有_one 租户。我想使用需要管道工数据的自定义 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
's 验证?
根据要求,这是验证码:
class UniquePlumberAssignment < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.property.limit(record.plumber_limit).each |p|
...
end
end
end