Текстовый файл занят @ unlink_internal

У меня проблема с refile и vagrant с использованием синхронизированных папок. Проблема в том, что всякий раз, когда я пытаюсь сохранить файл, возникает следующая ошибка:

Errno:: ETXTBSY (текстовый файл занят @ unlink_internal - /vagrant/vidya/tmp/uploads/ca che/2dcd0c3fd391985ffe88ea30d826890c817fe64756f5fb6c92408368caa0):

Вот полная трассировка стека http://pastebin.com/TaUn9eJW

Это, однако, работает в бродячем госте, если оно не находится в синхронизированных папках. Я использовал carrierwave, чтобы проверить, не сработает ли он, однако это не сработало, и carrierwave отлично работает с синхронизированными папками.

Есть ли что-нибудь, что refile и / или rails делает, что этот файл занят?

1 ответ

Решение

Я обнаружил, что изменение директории, в которой Refile кэширует и хранит, устраняет проблему. Он должен быть вне синхронизированных папок, в противном случае вы все равно получите сообщение об ошибке. При поиске в Google, похоже, это проблема Windows в качестве хоста.

Если кто-то сталкивается с этим и нуждается в быстром исправлении, добавьте это в свой файл application.rb

Refile.store ||= Refile::Backend::FileSystem.new("/tmp/uploads/store".to_s)
Refile.cache ||= Refile::Backend::FileSystem.new("/tmp/uploads/cache".to_s)
Другие вопросы по тегам