我有两个模型:Post
和Comment
。
class Post
has_many :comments
end
class Comment
belongs_to :post
end
[当我尝试创建一个Comment
而未分配Post
时,出现了如下确认错误:
=> {
:post => [
[0] "can't be blank"
]
}
我正在编写Rails API,并且有一个名为post_id
的客户端表单字段。当API验证返回时,我需要手动将post
错误映射到post_id
错误以在表单中显示它们。
是否存在将这些belongs_to
验证错误映射到外键属性(post_id
)而不是我的Rails应用程序中任何post
关联的关联(belongs_to
)的映射?
我只想要这个对象作为我的错误哈希:
=> {
:post_id => [
[0] "can't be blank"
]
}
您可以在post_id
上添加您自己的验证:
validates :post_id, presence: true
这将产生由post_id
键控的其他错误。现有错误来自基于关联的自动生成的验证,您可能不应该删除它。当然,您也可以根据自己的喜好过滤/处理错误哈希,但是我猜您正在寻找一种优选的仅使用Rails的解决方案,而无需维护其他逻辑。