Ошибка отката Rails

Это моя ошибка. Это транзакция отката

Gemfile:

gem 'ckeditor', '~> 4.1', '>= 4.1.6'
gem 'paperclip', '~> 5.1'

Мой журнал запросов показывает

Started POST "/ckeditor/pictures?qqfile=Knipsel.png" for ::1 at 2017-03-21 15:50:26 +0100
Processing by Ckeditor::PicturesController#create as */*
  Parameters: {"qqfile"=>"Knipsel.png"}
Command :: file -b --mime "C:/Users/MyName/AppData/Local/Temp/e85eb525e3b5cf46d5c8270aecfc401b20170321-4468-1lbl7wa.png"
[paperclip] Content Type Spoof: Filename Knipsel.png (image/png from Headers, ["image/png"] from Extension), content type discovered from file command: . See documentation to allow this combination.
   (0.0ms)  begin transaction
Command :: file -b --mime "C:/Users/MyName/AppData/Local/Temp/e85eb525e3b5cf46d5c8270aecfc401b20170321-4468-1bmn28u.png"
[paperclip] Content Type Spoof: Filename Knipsel.png (application/octet-stream from Headers, ["image/png"] from Extension), content type discovered from file command: . See documentation to allow this combination.
   **(0.0ms)  rollback transaction**
Completed 200 OK in 100ms (Views: 0.1ms | ActiveRecord: 0.0ms)

1 ответ

Скрепка проверяет типы пантомимы, прежде чем разрешить прикрепление файла к модели. Браузер обычно отправляет MIME-тип (каким он считает файл), в вашем случае это "image/png" для первого файла и "application/octet-stream" для второго файла. Но поскольку подмена типа MIME - вещь, paperclip пытается определить сам тип MIME, запустив команду file для файлов. В вашем случае эта команда возвращает пустую строку для обоих файлов:

, content type discovered from file command: . See documentation to allow this combination.

Это пространство между "команда:" и "." это то, что вернула файловая команда.

Я предполагаю: вы работаете в Windows, и у вас его нет, или он не может быть найден. Следуйте этим инструкциям именно для этого случая на сайте скрепки.

Другие вопросы по тегам