У меня странная ситуация с удалением файлов в Ruby, код, кажется, сообщает правильно, но физический файл не удаляется с моего жесткого диска. Я могу сделать rm path/to/file
в командной строке - это работает. Я даже могу открыть консоль Rails и File.safe_unlink файл, и это также работает, просто в моем приложении Rails не удается удалить фактический файл:
def destroy
Rails.logger.debug local_path #=> /Users/ryan/.../public/system/.../file.jpg
Rails.logger.debug File.exist?(local_path) #=> true
File.safe_unlink(local_path)
Rails.logger.debug File.exist?(local_path) #=> false
# yet the physical file actually STILL exists!
end
Физический файл находится в Git-репо (репо хранится в / public / system /). Есть какие-нибудь ошибки с этим? Я попытался использовать гем ruby-git для удаления файла с помощью команды rm, которую он предоставляет, но это также не удаляет файл.
Я открыл все права доступа к файлам во время тестирования, но все еще ничего не работает. Я также подтвердил это с помощью File.writable? (Local_path), который вернул true.
Есть мысли, почему это может помешать удалению файла?