Вам необходимо создать новый модуль (в плагине он называется 'backend'), Technoweenie::AttachmentFu::Backends.const_get('YourChosenBackend')
.
Контракт для этого бэкэнда, я боюсь, неявно определен в других бэкэнд-модулях. Вы можете обратиться к s3
, file_system
или db
. Под контрактом я подразумеваю, что есть некоторые методы, которые необходимо переопределить / определить. Несколько примеров (я взял их у file_sysyem_backend.rb
:
full_filename(thumbnail = nil)
base_path
attachment_path_id
partitioned_path(*args)
public_filename(thumbnail = nil)
filename=(value)
create_temp_file
destroy_file
rename_file
save_to_storage
current_data
После того как вы определили свой бэкэнд, вы можете передать опцию :storage => :your_chosen
в has_attachment
.