Приложение My Rails использует операторскую волну для управления загрузкой изображений. На моем сайте есть версии изображений с водяными знаками. Раньше я накладывал на них изображение, вот так:
def watermark
manipulate! do |img|
logo = Magick::Image.read("#{Rails.root}/public/images/plc-watermark.png").first
img = img.composite(logo, Magick::SouthEastGravity, Magick::OverCompositeOp)
end
end
Теперь я накладываю текст, например:
def watermark
manipulate! do |img|
text = Magick::Draw.new
text.gravity = Magick::CenterGravity
text.pointsize = 12
text.font = "#{Rails.root}/public/fonts/hn300.ttf"
text.stroke = 'none'
text.annotate(img, 0, 0, 0, 0, "Photo © #{model.user.full_name}\nHosted by Placeology.ws\nPlease log in to remove this watermark")
img
end
end
Теперь это работает для новых изображений, но когда я вызываю recreate_versions! старые фото не заменяются. Как я могу получить этот новый водяной знак вместо старого?
Что бы это ни стоило, я использую Fog с Amazon S3 для хранения как в разработке, так и в производстве.