编辑表单中的carrierwave

前端之家收集整理的这篇文章主要介绍了编辑表单中的carrierwave前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一个部分表单来创建和编辑包含上传器(“文件”)的模型对象:
= simple_form_for(@document) do |f|
= f.error_notification

.form-inputs
  = f.input :event_id
  = f.input :name
  = f.input :file
  = f.hidden_field :file_cache

.form-actions
  = f.button :submit

在编辑表单中,而不是获取与已上载文件关联的文件名,我得到“没有选择文件”.有没有办法让小部件识别上传者不是nil并使用上传者的文件名?

解决方法

出于安全原因,您无法在文件输入字段中手动设置该值.文件名反映了浏览器选择的文件,但文件已经在那时上传了,为什么@ document.file?如果你看,它会表现出来. file_cache仅用于存储和重新发送已发送的属性,不要与覆盖文件字段的输入值混淆.例如,如果您将隐藏字段更改为输入字段,您将看到相同的“无文件”消息.

我意识到这不是你想要的,但也许更好的方式来处理handel这是重新标记输入,如“替换文件”之类的东西,然后渲染文件nave via@ document.file if @ document.file?在场上方.

猜你在找的HTML相关文章