Как удалить все содержимое папки с Ruby-Rails?


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

3 56

3 ответа:

Рубин имеет *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

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

`rm -fr public/cache/*`

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

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

rake tmp:cache:clear # Clear cache files from tmp/