Active Storage:表单重新显示时 retain/cache 上传文件的最佳实践

Active Storage: Best practice to retain/cache uploaded file when form redisplays

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

有没有办法在表单重新显示之间缓存或保留它? Shrine has a nice Plugin 为此,我正在寻找与 Active Storage 类似的东西。

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

寻找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 %>