Rails 5.2 Active Storage не удаляет прикрепленные изображения - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь удалить изображение, прикрепленное к сообщению о работе. Но после нажатия на кнопку «Удалить» прикрепленное изображение все еще там и не удаляется из сообщения о работе.

Работа Показать страницу

<div class="ui text container slides">
        <i class=" left angle icon"></i>
        <i class=" right angle icon"></i>
       <% @job.images.each_with_index do |image, index| %>
        <div class="slide active">
          <%= image_tag image, size: 200 %> 
 <%= link_to 'Remove', delete_image_attachment_job_url(image.signed_id),
                    method: :delete,
                    data: { confirm: 'Are you sure?' } %>
                </div> 
         <% end %>
    </div>
  </div>

* маршруты +1006 *

  resources :jobs do
  member do
    delete :delete_image_attachment
  end
end

jobs_controller.rb

def delete_image_attachment
    @image = ActiveStorage::Blob.find_signed(params[:id])
    @image.purge
    redirect_to root_path
end

1 Ответ

1 голос
/ 20 июня 2019

В моем контроллере я заменил @image = ActiveStorage::Blob.find_signed(params[:id]) на:

def delete_image_attachment
    @image = ActiveStorage::Attachment.find(params[:id])
    @image.purge
    redirect_back(fallback_location: job_path) 
end

Мое действие удаления теперь:

<%= link_to 'Remove', delete_image_attachment_job_url(image),
                method: :delete,
                data: { confirm: 'Are you sure?' } %>
...