В Rails 5.2, используя гем Carrierwave, как я могу использовать гем по умолчанию, когда файл больше не существует на диске? - PullRequest
0 голосов
/ 26 марта 2019

Я использую гем Carrierwave в Rails 5.2.2.1.У меня есть его настройка с URL-адресом по умолчанию для изображения, когда его нет в базе данных для этой записи.Но как мне сделать так, чтобы оно также отображалось, если у меня есть изображение в базе данных для записи, но этот файл не существует на диске?

В настоящее время я получаю следующую ошибку:

ActionController :: RoutingError (маршрутов нет [GET] "/uploads/player/314c38a9-6567-4faa-bfda-9e7a75cbaed4.jpeg")

Есть ли способ спастии представить URL-адрес по умолчанию, который я указал в файле Uploader?

1 Ответ

1 голос
/ 26 марта 2019

если у вас есть изображение по умолчанию, вы можете установить метод в вашей модели следующим образом:

def image
  File.file?(file.path) ? file.url : default_image_url #and you need to define this default url
end

Или вы можете обработать 404 на изображении как @mroach, упомянутое в ваших маршрутах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...