活动存储 has_many_attached 正在清除以前的上传

2024-04-28

我正在尝试将更多文件添加到 has_many_attached 中,但是当我上传新文件时,先前的文件将被清除。上传多个文件确实会添加多个文件,但它们也会在下次上传时被清除。这是有意的行为吗?如果是这样,我该如何防止清除?

log.rb

class Log < ApplicationRecord
  has_many_attached :uploads
end

_form.html.erb

<%= form_for @log, remote: true do |f| %>
  <%= f.file_field :uploads, multiple: true %>
<% end %>

您可以通过添加以下行来防止覆盖现有附件config/environments/development.rb, config/environments/test.rb and config/environments/production.rb,如以下所示quantavi https://github.com/quantavi in 这个问题 https://github.com/richardvenneman/trestle-active_storage/issues/41: https://github.com/richardvenneman/trestle-active_storage/issues/41 https://github.com/richardvenneman/trestle-active_storage/issues/41

config.active_storage.replace_on_assign_to_many = false

显然,在 Rails 6 中,再次上传文件时的默认行为是清除以前上传的文件。你可以找到一个更长的线程在这个 Rails 问题中 https://github.com/rails/rails/issues/35817 which Aarthi https://stackoverflow.com/users/8785865/aarthi链接在评论中。上面的行更改了此设置,以便连续上传附加文件而不是覆盖旧文件。

(正如您可能从问题链接中推断出的那样,我在使用 Trestle 管理面板和补充的 trestle-active_storage gem 时遇到了同样的问题,它增加了主动存储字段支持。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

活动存储 has_many_attached 正在清除以前的上传 的相关文章

随机推荐