У меня есть приложение с продуктами - у каждого продукта есть такие вещи, как заметки / часто задаваемые вопросы / вложения.
Я могу успешно удалять заметки и часто задаваемые вопросы, но не вложения Active Storage.
Можеткто-нибудь, пожалуйста, помогите?Я пытался использовать отдельный метод в контроллере Products, но он не работал, поэтому моя текущая строка использует контроллер Uploads.
Текущая ошибка, которую я получаю:
NameError in UploadsController#destroy
uninitialized constant Upload
Загрузка контроллера:
class UploadsController < ApplicationController
load_and_authorize_resource :nested => :product
def destroy
@product = Product.find(params[:id])
@upload = @product.ActiveStorage::Attachment.find(params[:id])
@upload.purge
redirect_back(fallback_location: products_path)
end
end
Просмотр продуктов:
<% @product.uploads.each do |upload| %>
<% if can? :destroy, upload %>
<td><%= link_to t('X', :default => t("X")),
product_upload_path(@product, upload),
:method => :delete,
:data => { :confirm => t('.confirm', :default => 'Are you sure you want to delete this attachment?') },
:id =>'delete-faq' %></td>
<% end %>
<% if upload.variable? %>
<span><%= image_tag upload.variant(resize: "100x100"), class: "other-image" %></span>
<% elsif upload.previewable? %>
<span><%= link_to image_tag(upload.preview(resize: "100x100"), class: "other-image"), rails_blob_path(upload), target: "_blank" %></span>
<% else %>
<span><%= link_to image_tag("paper.jpg", size: "100x100", class: "other-image"), rails_blob_path(upload), target: "_blank" %></span>
<% end %>
<% end %>
маршруты:
resources :products do
resources :notes
resources :faqs
resources :uploads
end