gpt4 book ai didi

ruby-on-rails - 使用Rails Paperclip gem,如果模型无效,如何临时保存上传的文件

转载 作者:行者123 更新时间:2023-12-03 16:02:38 24 4
gpt4 key购买 nike

我正在使用回形针 gem 将文件附加到模型。使用 Paperclip 上传文件时,仅在保存模型时才会保存文件。因此,如果模型无效,则不会保存上传的文件。有没有办法暂时保存上传的文件,这样如果模型无效,用户就不必上传相同的文件?

最佳答案

定义一个 before_save检查对象是否有效的方法,
如果不将文件保存到磁盘,请给它一个唯一的名称(创建一些散列)

将其放入您发送回隐藏字段的表单中

删除表单中的上传字段

现在在 before_save 的 else 分支中方法检查是否有 hidden_field previous_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

关于ruby-on-rails - 使用Rails Paperclip gem,如果模型无效,如何临时保存上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com