13

使用 Active Storage 上传文件时,当文件完成上传并重新显示表单时,例如当该表单的验证由于某种原因失败时,文件就消失了。

有没有办法在表单重新显示之间缓存或保留它?Shrine 为此目的提供了一个不错的插件,我正在为 Active Storage 寻找类似的东西。

4

2 回答 2

14

这是使 ActiveStorage 文件在表单重新显示时保持不变的解决方案: f.hidden_field :image, value: f.object.image.signed_id if f.object.image.attached? f.file_field :image

于 2018-07-17T06:34:17.997 回答
1

对于那些寻求has_many_attached解决方案的人

https://github.com/rails/rails/issues/35817#issuecomment-484158884

<% if @product.photos.attached? %>
  <% @product.photos.each do |ph| %>
    <%= f.hidden_field :photos, value: ph.signed_id %>
  <% end %>
<% end %>
于 2020-09-04T12:21:27.387 回答