我正在使用paperclip gem将文件附加到模型.使用Paperclip上载文件时,仅在保存模型时保存文件.因此,如果模型无效,则不保存上载的文件.有没有办法临时保存上传的文件,这样如果模型无效,用户不必上传同一个文件?
定义一个before_save方法来检查对象是否有效,如果没有将文件保存到磁盘,则给它一个唯一的名称(创建一些散列)
将其放入您发回的表单中的隐藏字段中
删除表单中的上传字段
现在在方法的 else 分支中before_save检查是否有hidden_fieldprevious_upload 或者无论你如何命名它如果有加载图片并将其分配给回形针属性,它可以计算出其余的内容
attr_accessor :previous_upload
def before_save
if valid?
if previous_upload
paperclip_file = #Load paperclip_file from /tmp
else
previous_upload = nil
end
else
previous_upload = "Some unique key for each upload like ip and time or such"
# Save paperclip_file with name previous_upload to /tmp
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2091 次 |
| 最近记录: |