1

在我的应用程序中,我有一个文件上传(实际上是多个文件上传),并且我设法在不使用 gem/plugin(例如:carrierware)的情况下做到了。

但是当我的表单验证失败时,它会加载带有错误消息的数据,但不会加载 file_fields 中的值。我的客户希望在表单验证失败时保持这些值不变。

我搜索了一下,发现出于安全原因,它不允许为文件字段设置值。那么有人可以向我提出一个可能的解决方法(当表单验证失败时保留选定的文件路径)

请注意,我在这里没有使用 Ajax 表单发布,这是简单的默认 HTTP 发布

我在 ruby​​ 1.9.2 和 rails 3.0.0 上运行

提前致谢

4

1 回答 1

1

不可能与您所要求的有关。由于安全原因,上传字段的值无法设置,甚至无法使用某些浏览器设置样式。

最好的选择:

  • 在验证之前上传文件,如果用户取消则丢弃。
  • 使用 ajax,或者一种奇特的上传方式。(将路径存储在隐藏字段中,然后使用某种形式的 ajax/flash 上传。)
于 2012-07-29T08:13:07.103 回答