我最近观看了Ryan关于Jquery文件上传的第381集,现在我想知道如何添加对嵌套表单的支持。说我有产品和产品有很多图像。如果没有多态关联,我应该怎么做呢?
答案 0 :(得分:0)
目前尚不清楚你究竟在问什么,或者多态关联与此有什么联系,但我想我可能遇到了同样的问题(尽管我使用的是plupload)
我的解决方案是生成一个简短的随机字符串(我使用SecureRandom.hex(6)
,但我确定还有其他方法可以做到)并将其包含在我的产品表单视图中。我将它作为隐藏字段包含在表单中,也作为javascript变量。
<%= javascript_tag do %>
window.tmp_id = "<%= tmp_id %>"
<% end %>
在我的plupload配置中,我将此变量添加到上传图像的POST请求中。对于jQuery文件上传,我想你想要这样的东西:
$('#fileupload').fileupload({
url: '/path/to/upload/handler',
formData: { tmp_id: tmp_id }
});
因此,在处理文件上传的控制器中,我只需将文件放在一个临时目录中,该目录使用通过params传入的tmp_id命名。
当控制器收到表单提交时,它使用模型检查临时目录的存在并处理在那里找到的图像,为每个与新创建的产品绑定的图像创建新记录。
可能不是你正在寻找的,但认为它可能会给你一些想法。