Как удалить все содержимое папки с помощью Ruby-Rails? - PullRequest
60 голосов
/ 16 декабря 2011

У меня есть папка public/cache, в которой есть файлы и папки. Как я могу полностью очистить эту папку, используя задачу rake?

Ответы [ 3 ]

138 голосов
/ 16 декабря 2011

Ruby имеет * nix rm -rf эквивалент в модуле FileUtils , который можно использовать для удаления как файлов, так и непустых папок / каталогов:

FileUtils.rm_rf('dir/to/remove')

Чтобы сохранитьсам каталог и только удалить его содержимое:

FileUtils.rm_rf(Dir.glob('dir/to/remove/*'))

FileUtils.rm_rf(Dir['dir/to/remove/*'])      # shorter version of above
2 голосов
/ 27 января 2014

Вы можете запускать произвольные команды, используя наклонные одинарные кавычки (рядом с тильдой), например так:

`rm -fr public/cache/*`

Это может зависеть от платформы, чем вы хотите, но это открывает многовозможностей.

0 голосов
/ 01 марта 2018

Хорошие ответы уже здесь.Вам также может быть интересно узнать, что в Rails 5 есть встроенная задача:

rake tmp:cache:clear # Clear cache files from tmp/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...