2

我最近看了 Ryan 的关于 Jquery 文件上传的第 381 集,现在我想知道如何添加对嵌套表单的支持。假设我有产品,产品有很多图像。我应该怎么做才能在没有多态关联的情况下添加它?

4

1 回答 1

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 }
});

因此,在处理文件上传的控制器中,我只需将文件保存在一个临时目录中,该目录使用通过参数传入的 tmp_id 命名。

当控制器收到表单提交时,它使用模型检查临时目录是否存在并处理在其中找到的图像,为与新创建的产品相关联的每个图像创建新记录。

可能不是您正在寻找的东西,但认为它可能会给您一些想法。

于 2012-12-11T07:36:03.783 回答