使用 Active Storage 上传文件时,当文件完成上传并重新显示表单时,例如当该表单的验证由于某种原因失败时,文件就消失了。
有没有办法在表单重新显示之间缓存或保留它?Shrine 为此目的提供了一个不错的插件,我正在为 Active Storage 寻找类似的东西。
使用 Active Storage 上传文件时,当文件完成上传并重新显示表单时,例如当该表单的验证由于某种原因失败时,文件就消失了。
有没有办法在表单重新显示之间缓存或保留它?Shrine 为此目的提供了一个不错的插件,我正在为 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 %>