如标题中所述,我正在尝试获取它,以便一旦用户删除系统中的附件,我们就可以跳过Blob清除。原因是我们希望保留上载文件(或Blob)的副本,即使有人在我们的系统中将其删除了也是如此。由于activeStorage对此没有配置,因此我一直试图在#purge
中修补activeStorage::Blob
方法的问题,但没有成功。
这是我的初始化程序:
# config/initializers/active_storage.rb
module CoreExtensions
module activeStorage
module Blob
def purge
raise "here"
end
end
end
end
activeSupport::Reloader.to_prepare do
activeStorage::Blob.include CoreExtensions::activeStorage::Blob
end
这似乎无能为力,并且我删除文件时raise
从未被命中。
我也尝试过:
activeStorage::Blob.include CoreExtensions::activeStorage::Blob
没有activeSupport::Reloader.to_prepare
块,但在启动应用程序时始终出现此错误:“未定义的方法'has_one_attached'”
有什么想法可以成功地修补猴子吗?也欢迎跳过斑点清除的其他想法。