У меня модель "Вложение" настраивается как:
Модель
class Attachment< ActiveRecord::Base
has_many_attached :files
end
Контроллер
def remove
@attachment = Attachment.find_by_id(params[:attachment_id])
@upload = @attachment.files.find(params[:abc_id])
@upload.purge
redirect_back fallback_location: root_path, notice: 'Image was deleted successfully.'
end
Просмотр файла:
<% attachment.files.each do |file| %>
<%= link_to image_tag(file , class: "resize__image", alt: "#{file.filename}"), show_image_attachment_path(file)%>
<div><%= file.filename %></div>
<div> <%= link_to "Remove", attachment_abc_remove_path( attachment, file), method: :delete, data: { confirm: "Are you sure?" }, remote: true %></div>
<% end %>
route:
resources :attachments, only: [:show, :destroy] do
member do
get :show_image
end
resources :abc do
match '/remove', to: 'attachments#remove', via: 'delete'
end
end
Когда я пытаюсь удалить изображение / изображения, соответствующая запись из «active_storage_blobs» и «active_storage_attachments» удаляется, тогда как запись из таблицы «Attachment» все еще будет присутствовать.
Ожидается ли это при использовании активного хранилища?Что, если я хочу удалить соответствующий элемент из таблицы «Аккаунт»?Я перепробовал много подходов, но не смог удалить запись из таблицы «account».