作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用回形针 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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!