2013-09-04 3 views
0

Я хочу сохранить фотографии в «grid_fs» и других типов файлов в «туман», как:Carrierwave динамический тип хранения с помощью атрибутов модели

class DocumentUploader < CarrierWave::Uploader::Base 
    def storage 
    if model.is_photograph == true 
     :grid_fs 
    else 
     :fog 
    end 
    end 
end 

Возможно ли это?

Я хочу динамически назначать тип хранилища из атрибутов модели, а у меня пробовали this, но модель и ее атрибуты недоступны в методе класса.

Спасибо!

ответ

0

Быстрый ответ «нет». В отличие от store_dir, validate_integrity и др., storage не отправляется через add_config и не получает ни одного из instance-level magic, что сделало бы это легко.

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

Смежные вопросы