Загрузить изображение с помощью скрепки, тумана и стойки
Мне нужно загрузить изображение логотипа в стойку с помощью тумана и скрепки.
Paperclip::Attachment.default_options.update({
:path => "images/:class/:id/:attachment/:style/img_:fingerprint",
:storage => :fog,
:fog_credentials => {
:provider => 'Rackspace',
:rackspace_username => 'blablabla',
:rackspace_api_key => 'blablabla',
:persistent => false
},
:fog_directory => 'blablabla',
:fog_public => true,
:fog_host => 'http://blablabla.rackcdn.com'
})
У меня есть эти настройки в config/initializers/paperclip_defaults.rb
Но как инициализировать логотип, чтобы поймать эти настройки. Пожалуйста, помогите мне, я был в замешательстве здесь.
1 ответ
Вам не нужно инициализировать логотип, чтобы "поймать" эти настройки
Позвольте мне объяснить, как это работает:
Paperclip
просто создает запись в вашей базе данных и сохраняет ваш файл в Rackspace. Доступ к файлу, сpaperclip
будет просто случай обеспеченияpaperclip
может правильно загрузить URL RackSpace
Я бы сделал это:
#config/application.rb
config.paperclip_defaults = {
styles: { :medium => "x500", :thumb => "x200" },
default_url: "placeholder.png"
}
#config/environments/production.rb
Paperclip::Attachment.default_options.merge!({
:path => "images/:class/:id/:attachment/:style/img_:fingerprint",
:storage => :fog,
:fog_credentials => {
:provider => 'Rackspace',
:rackspace_username => 'blablabla',
:rackspace_api_key => 'blablabla',
:persistent => false
},
:fog_directory => 'blablabla',
:fog_public => true,
:fog_host => 'http://blablabla.rackcdn.com'
})
Это позволяет загружать данные в Rackspace в производственном режиме. Вам не нужно менять модель, и вы бы назвали paperclip
объекты как это:
@model.image.url #-> yields rackspace URL
Если вам нужна дополнительная помощь / ясность, пожалуйста, дайте мне знать. Я только что использовал ваш код Rackspace и перешел из инициализатора в ваши конфигурационные файлы