Проблема заключалась в том, что поворот изображения был добавлен к фотографии как данные EXIF, не используемые большинство браузеров. Есть два решения:
Применить ротацию на стороне сервера. Я использовал подключаемый модуль Ruby Paperclip (от Thoughtbot), и мне просто нужно было включить опцию преобразования с автоматической ориентацией в команду has_attached_file в модели:
has_attached_file: photo,: convert_options => {: all => '-auto- orient '}
Поверните фотографию в приложении iPhone. Это было решено в другом вопросе о переполнении стека; вызов метода scaleAndRotate заменяет метаданные поворота на преобразование изображения благодаря @Squeegy.