Переименование файла при загрузке

Я загружаю файлы в Amazon s3 из своего приложения rails, и оно работает нормально, однако я хочу знать, как я могу добавить некоторую строку в файл, который должен быть загружен. Например, если пользователь выбрал файл abc.jpg, мне нужно добавить его как header_abc.jpg. Как я могу этого добиться?


person user315252    schedule 24.02.2011    source источник


Ответы (3)


Предположим, вы используете скрепку из списка тегов.

В нашей модели:

has_attached_file :image, :path => ":rails_root/public/images/header_:basename.:extension"

person James Chen    schedule 24.02.2011
comment
У меня есть модель вложения, все мои модели, у которых есть вложения, будут использовать ее, мне нужно специально изменить ее только для одной модели. - person user315252; 24.02.2011

has_attached_file :image,
                :styles => { :medium => ["140x140>", :jpg],
                             :thumb => ["109x82>", :jpg],
                             :small => ["54x41>", :jpg],
                             :article => ["500x500>", :jpg] },
                :storage => :s3,
                :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                :path => "article/:id/:style.:extension",
                :bucket => S3_BUCKET

вики о скрепке

person Atsuhiro    schedule 24.02.2011

person    schedule
comment
при загрузке рельсов создается временный файл, мне нужно изменить это имя. Есть ли возможность указать в самой модели? когда мы определяем присоединяемый - person user315252; 24.02.2011