我有一个带文件字段的经典 Rails 3 表单,一切正常,上传正常,数据保存到数据库。
当验证失败时,例如,缺少标题,用户将被送回带有render :action => new
的表单。普通的。但这里的问题是,用户必须再次选择其文件。
有什么办法可以避免吗?
最佳答案
通常,您不想在验证运行之前处理文件,或者您要重复存储可能没有关联记录的文件。 Paperclip 和 attachment_fu 这样的 Gem 可以做到这一点。
如果您希望在文件第一次提交且有效时存储该文件,您可以存储该文件,然后在您的 View 中快速检查它是否已经为您正在为其构建表单的对象设置,例如:
<% unless foo.attachment? %>
# file field
<% end %>
有道理吗?
关于ruby-on-rails - 验证失败时如何保留文件字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981119/