我has_many
在某些模型中有关系,并接受它的嵌套属性。在未通过此关系的验证后,属于某个属性的所有错误都存储在错误哈希的同一键中。
部分请求:
"values_attributes":[{"value":"","attribute_id":1,"id":1,"auction_id":1},{"value":"6.6","attribute_id":3,"id":7,"auction_id":1}]
回复:
"values.value":["can't be blank","must be an integer"]
这里,can't be blank
error 属于第一个属性,属于must be an integer
第二个。所以我需要在控制器中写这样的东西:
errors = @auction.errors.to_hash
errors['values'] = Hash[@auction.values.reject{ |v| v.valid? }.collect{ |v| [v.attribute_id, v.errors.to_hash]}]
了解错误属于哪个模型。
是否存在更干净的方法来做到这一点?