Загрузка файла кэша Rails 3 - PullRequest
       1

Загрузка файла кэша Rails 3

1 голос
/ 03 августа 2011

Я создаю пользовательскую форму загрузки изображений в Rails 3 (скрепка / carrierwave не является опцией для нашей настройки) и мне нужно выполнить классический сценарий «сохранение изображения при сбое проверки». Каков наилучший способ сделать это в Rails 3?

Резюме:

  1. Пользователь заполняет форму с изображением
  2. Пользователь нажимает кнопку «отправить форму»
  3. Проверка формы не удалась
  4. Теперь пользователь должен увидеть изображение, которое он загрузил в форму, и не нужно выбирать его снова

Ответы [ 2 ]

1 голос
/ 12 апреля 2012

Gem file_upload_cache совместим с carrierwave и работает в тех случаях, когда carrierwave не работает.

Он также работает автономно, без использования carrierwave.

Документация здесь: https://github.com/kenmazaika/file_upload_cache

Раскрытие: Я создал этот камень.

0 голосов
/ 24 марта 2012

Если вы делаете это с нуля, вы должны поместить файл в каталог загрузки (или создать новый каталог внутри него для хранения разных версий) и сохранить временное имя файла в одном не сохраненном поле вашей модели .

Например, это непостоянное поле может быть названо photo_cache_dir:

attr_accessible :foo, :bar, :photo_cache_dir
attr_accessor :photo_cache_dir

В шаблоне вы просто проверяете наличие этого поля:

@your_model.photo_cache_dir.present?

... и в этом случае, используя собственную логику, отобразите загруженную фотографию.

Я не знаю, является ли это лучшей практикой, но это то, что я использую, и она работает очень хорошо.

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