Некоторое время назад я пытался удалить вложения активного хранилища, поэтому следую ответу на этот вопрос: Rails 5.2 Очистка / удаление вложений активного хранилища
Но после этого:
def delete_image_attachment
@image = ActiveStorage::Blob.find_signed(params[:id])
@image.purge
redirect_to collections_url
end
Я получаю эту ошибку каждый раз, когда вхожу в вид с изображениями или ссылкой на метод уничтожения:
Итак, я немного изменил код:
routes.rb
match 'vehicles/:id/:image_id' => 'vehicles#delete_image_attachment', :via => :delete, :as => :delete_image_attachment
vehicles_controller.rb
def delete_image_attachment
@image = ActiveStorage::Attachment.find(params[:image_id])
@image.purge
redirect_back(fallback_location: vehicles_path)
end
из-за того, что я хочу удалить изображение
<% @vehicle.images.each do |img| %>
<%= image_tag img %>
<%= link_to delete_image_attachment_url(@vehicle, img), method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
Такого рода работы для транспортных средств, которые уже существовали, но когда я создаю новое транспортное средство, такая же ошибка появляется в каждом представлении с изображением этого транспортного средства.
Кто-нибудь знает, что это за ошибка и как ее исправить?
Кроме того, есть ли способ удалить все данные из активного хранилища, как сброс таблицы?
Спасибо!