2016-12-08 3 views
0

Не удалось найти/понять хорошую документацию по этому вопросу. Интересно, куда загружаются загрузки, которые выполняются CarrierWave? Насколько я понимаю, он идет прямо в дБ, верно? Могу ли я заставить его хранить (или создавать ссылку на файл) в моем конвейере активов? Сегодня возникла проблема, когда он не мог использовать image_tag, поскольку он захватывает активы только из конвейера активов. Может ли быть, что позволить пользователям хранить файлы в конвейере активов может быть потенциально очень рискованным и вредным?Rails, где хранятся файлы CarrierWave?

Так мои вопросы:

  • Могу ли я хранить опорный файл/в трубопроводе активов?

  • Было бы неплохо?

Спасибо за обмен!

ответ

1

Если вы посмотрите на пользователя вы увидите метод, называемый store_dir по умолчанию выглядит следующим образом ...

def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
end 

Так что для вложения под названием «oranges.jpg» в поле под названием image в модель называется FilmReview в записи с идентификатором 45 он хранится в ...

public/uploads/film_review/image/45/oranges.jpg 

Вы можете изменить store_dir сохранить изображение в другой каталог, или загрузить его на облачный сервис, как AWS. .. см. railscasts или другие ресурсы для примеров того, как это сделать.

+0

О, очень приятно. Теперь это стало более ясным для меня. Большое спасибо! –