Rails上传新对象

时间:2016-04-22 15:49:33

标签: ruby-on-rails file-upload paperclip

创建新记录(rails默认新操作)时,对象ID为nil b / c,它在数据库中不存在。

上传对象时,它们通常与ID绑定(使用回形针)。

当我的用户点击new,并且我想为ajax上传提供dropzone.js区域时,如果没有id,该如何将该图像/文件绑定到post对象?

如果他们丢弃或退出浏览器,我会有孤立的临时图像/文件...

我无法在新记录的对象上传之间连接点。

有人可以帮我解决控制器逻辑问题吗?在创建对象后,我可以在单独的操作中轻松完成,但不是之前。

1 个答案:

答案 0 :(得分:2)

我制作了一个宝石来解决这类问题。 它在回形针之上工作,而不是侵入式。要启用此功能,您需要将回形针的has_attached_file替换为has_attached_upload

使用Rails Pallet gem ... 首先,您需要将文件上传到服务器,并使用POST /uploads属性执行file。响应将为您提供与该文件相关的标识符。 然后,发送标识符,您可以更新自己的记录。宝石会在此之后将文件复制到您的记录中。

这样,您可以在保留记录之前上传文件。

您可以在宝石README

上看到完整的示例