Using Rails 3.2.
这是正常的,当我们提交一个表单,验证后,它仍然会保留无效的值在字段中,并呈现给视图,以显示已输入的内容。
假设我有一个可以让用户上传头像的回形针。当我上传非图像文件时,例如abc.pdf
,它将返回无效值,但是这个无效值仍将临时存储在avatar_file_name
列中。
因此,当我渲染有错误的页面时,我的视图将尝试返回一个图像标签并寻找abc.pdf
,因为它在avatar_file_name
字段中。
如何防止Rails存储这个临时无效的值?
我没有使用过PaperClip,但是如果您发现错误,您应该能够在控制器中将avatar_file_name设置为nil,如下所示
params[:user][:avatar] = nil