По умолчанию Attachment Fu сохраняет загруженные файлы в "public/#{table_name}"
. Я хочу изменить это на что-то вроде "public/#{table_name}/#{site_id}"
, где site_id
является свойством модели. Обратите внимание, что я попытался использовать self.site_id
, и оба не удалось.
has_attachment :storage => :file_system,
:max_size => 25.megabytes,
:path_prefix => "public/#{table_name}/#{site_id}",
:thumbnails => {
:large => '256x256>',
:medium => '128x128>',
:small => '64x64>'
}
Я получаю сообщения об ошибке «неопределенная локальная переменная или метод site_id». Удаление компонента #{site_id}
из :path_prefix
работает нормально, и метод initialize
запускается. Я могу получить доступ к site_id
, как и ожидалось.
У меня есть initialize
метод, который выглядит следующим образом:
def initialize(site_id = nil)
super(nil)
self.site_id ||= site_id
end
Я создаю экземпляр объекта через консоль Rails следующим образом:
r = Resource.new(100)
Работает ли метод has_attachment
перед моим initialize
методом? Как я могу передать параметр в :path_prefix
динамически при создании экземпляра модели?