防止Rails存储临时无效值



Using Rails 3.2.

这是正常的,当我们提交一个表单,验证后,它仍然会保留无效的值在字段中,并呈现给视图,以显示已输入的内容。

假设我有一个可以让用户上传头像的回形针。当我上传非图像文件时,例如abc.pdf,它将返回无效值,但是这个无效值仍将临时存储在avatar_file_name列中。

因此,当我渲染有错误的页面时,我的视图将尝试返回一个图像标签并寻找abc.pdf,因为它在avatar_file_name字段中。

如何防止Rails存储这个临时无效的值?

我没有使用过PaperClip,但是如果您发现错误,您应该能够在控制器中将avatar_file_name设置为nil,如下所示

params[:user][:avatar] = nil

相关内容

最新更新