使用表单验证保留文件字段值

时间:2012-07-29 08:04:32

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

在我的应用程序中,我有一个文件上传(实际上是多个文件上传),我设法不使用像(例如:运营商)那样的gem /插件。

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

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

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

我正在运行ruby 1.9.2和rails 3.0.0

提前致谢

1 个答案:

答案 0 :(得分:1)

不可能对你提出的要求做什么。出于安全原因,无法设置上传字段的值,甚至无法使用某些浏览器设置样式。

最好的选择:

  • 在验证之前上传文件,如果用户取消则丢弃。
  • 使用ajax或一种奇特的上传形式。 (将路径存储在隐藏字段中,然后使用某种形式的ajax / flash上​​传。)