Carrierwave извлекает кэшированные файлы, кэшированные из точки монтирования mount_uploaders - PullRequest
0 голосов
/ 26 октября 2018

У меня многостраничная форма, поэтому мне нужно кэшировать изображения и получать их позже.У меня не было проблем с этим для точки монтирования mount_uploader.

Допустим, у меня есть эта модель:

class MyModel < ApplicationRecord
  mount_uploader :other_image, ImageUploader
  mount_uploaders :images, ImageUploader

  attr_accessor :other_image_cache_name, :images_cache_names
end

def save
  other_image.retrieve_from_cache!(other_image_cache_name)
  # Need to retrieve :images_cache_names into :images
  super
end

В моем контроллере после того, как пользователь публикует форму, я кэширую изображения следующим образом:

def cache_images
  @mymodel.other_image_cache_name = @mymodel.other_image.cache_name

  @mymodel.images_cache_names = @house.images.map {|image| image.cache_name}
end

Итак, как мне извлечь имена кэша в images_cache_names, который является массивом имен кэша, в: images?

Примечание.: Images - это массив, а не ImageUploader, поэтому я не могу вызвать #retrieve_from_cache!на нем.

...