我正在使用Paperclip处理带有附件的表单。
如果在提交表单时模型无效,那么我想保存文件的临时副本,这样用户在修复表单提交后就不必重新上传文件。
我现在正在做的是使用常规的Ruby文件操作来保存文件..但与使用Paperclip相比,这是相当低的水平。
什么可能最有效,允许我保存临时回形针附件,然后允许我在成功验证后将临时文件移动到我的最终对象?
我正在考虑一个简单的ActiveRecord对象(即,TempAttachment),我可以在其中分配上传的文件,然后在对象成功保存时将其移动到最终对象。
这有意义吗?有人有什么想法吗?
答案 0 :(得分:0)
你可以按照你的建议做到这一点。但是,当您保存一个临时附件对象以跟踪此文件时...为什么不让您的生活更轻松,只是保存模型本身标记为“不完整”?
您可以设置一个不完整的模型来绕过您的许多验证,同时从不应该使用它们的区域中阻止不完整的模型。
但是,保证不将“不完整”模型与有效模型混合可能会有点复杂。根据应用程序的复杂程度,这可能不是一个好主意 - 在这种情况下,我建议坚持您的初始计划。