我正在Rails 3中构建自定义图像上传表单(paperclip / carrierwave不是我们设置的选项),需要在验证失败的情况下执行经典的“持久图像”。在Rails 3中执行此操作的“最佳实践”方法是什么?
要点:
答案 0 :(得分:1)
file_upload_cache gem与carrierwave兼容,适用于carrierwave无效的情况。
它也可以独立运行,不使用carrierwave。
文档在这里:https://github.com/kenmazaika/file_upload_cache
披露:我创作了这个宝石。
答案 1 :(得分:0)
如果您是从头开始,则必须将文件放入uploads目录(或在其中创建一个新目录以存储不同版本),并将临时文件名存储到模型的一个非持久字段中
例如,非持久字段可以命名为photo_cache_dir:
attr_accessible :foo, :bar, :photo_cache_dir
attr_accessor :photo_cache_dir
在模板中,您只需检查该字段是否存在:
@your_model.photo_cache_dir.present?
...在这种情况下,使用您自己的逻辑,显示上传的照片。
我不知道这是不是最好的做法,但这是我正在使用的,而且效果很好。