Dragonfly is an awesome image/asset management tool. It is great because of many reasons, but what I love the most, is how it handles thumbnails. You don’t need to specify sizes, or anything else in the models in which you use it. Instead every type of thumbnail can be generated “on the fly”, the first time you access it. For that reason, the original image (by default) is always stored. Unfortunately by default, it will not be auto-oriented based on the picture Exif data. Luckily there’s an easy way out. In your Dragonfly model you need to include an after_assign block with an auto orient command and you are ready to go!

class Picture < ActiveRecord::Base
  extend Dragonfly::Model

  dragonfly_accessor :image do
    after_assign do |attachment|
      # Auto orient all the images - so they will look as they should
      attachment.convert! '-auto-orient'
    end
  end
end

After that all of your images (and all the thumbnails – since you change the original file) will be auto-oriented.