我想为rails 4中嵌套属性关系的记录长度创建一个验证。由于attr_accessible的限制,我似乎无法访问嵌套字段的属性哈希。
这是我要创建的验证:
class Purchase
MAX_PASSENGERS = 5
validate :passengers_within_bounds
accepts_nested_attributes_for :passengers
private
def passengers_within_bounds
if passengers_attributes
if (passengers.size + passengers_attributes.size) > MAX_PASSENGERS
errors.add 'state', :max_passengers_exceeded
end
end
end
end
在rails 3中,我将使用attr_accessible来访问passengers_attributes散列。但是现在,我不知道如何访问它。
你们知道在rails 4验证中访问嵌套属性哈希的方法吗?
validates :passengers, length: { maximum: 10 }