при загрузке файлов на S3 имя файла должно иметь Без пробелов или специальных символов .
Для загрузки файлов с пробелами используйте следующее
yourmodel.rb
class Video < ActiveRecord::Base
has_attached_file :video,
:path => ":rails_root/public/system/:attachment/:id/:style/:normalized_video_file_name",
:url => "/system/:attachment/:id/:style/:normalized_video_file_name"
Paperclip.interpolates :normalized_video_file_name do |attachment, style|
attachment.instance.normalized_video_file_name
end
def normalized_video_file_name
"#{self.id}-#{self.video_file_name.gsub( /[^a-zA-Z0-9_\.]/, '_')}"
end
end
Что мы здесь делаем? Легко, в has_attached_file мы редактируем способ, которым paperclip возвращает путь и URL по умолчанию, наиболее важные компоненты при сохранении и загрузке файла для его отображения. Значения скрепки по умолчанию:
path default => ":rails_root/public/system/:attachment/:id/:style/:filename"
url default => "/system/:attachment/:id/:style/:filename"
Значения, начинающиеся с ’:’ - это стандартная интерполяционная скрепка
http://blog.wyeworks.com/2009/7/13/paperclip-file-rename