Каков хороший способ хранения изображений для тестирования загрузки и удаления?
- Я использую Carrierwave для загрузки своих изображений
- RSpec для моих функций spec
Я написал несколько приспособлений для своих продуктов.
К продукту прикреплены изображения, которые хранятся в папке
spec/fixtures/product/attachments/pull_noir_1.jpg
Когда я запускаю удалить спецификацию продукта , изображение удаляется из папки, а затем следующая спецификация не выполняется, поскольку изображение не может быть найдено (Да, оно было удалено). .. public/uploads/product/attachments/683902633/pull_rouge_1.jpg
Как мне установить загрузчик и где хранить изображения?
Вот некоторые из моих приспособлений
products.yml
warm_sweat:
title: Gros pull
price: 30
color: Noir
category: pull
user: nelly
attachments: pull_rouge_1.jpg
black_k_l:
title: Pull Kenzaro
price: 20
color: Noir
category: pull
user: nelly
attachments: pull_noir_1.jpg
My attachement_uploader.rb
class AttachmentUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
if Rails.env.production?
storage :fog
else
storage :file
end
version :thumb do
process resize_to_fill: [280, 280]
end
def default_url(*args)
"/images/fallback/" + [version_name, "random.jpg"].compact.join('_')
end
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
РЕДАКТИРОВАТЬ Я добавил #{model.id}
Все еще сталкивается с той же проблемой
Сбои
ActionController::RoutingError:
No route matches [GET] /uploads/product/attachments/683902633/pull_rouge_1.jpg
Я не думаю, что вам нужны мои спецификации, но не стесняйтесь спрашивать, нужно ли мне обновлять вопрос большим кодом.