Я настраиваю новый проект Rails, и после первоначальной опрятки с Rubocop у меня осталось одно нарушение.
Рубоп жалуется:
config/environments/development.rb:16:6: C: Please use Rails.root.join('path', 'to') instead.
if Rails.root.join("tmp/caching-dev.txt").exist?
Я вижу, что Rails.root
возвращает путь к текущему проекту. Итак, я пробовал
if File.join(Rails.root, "tmp/caching-dev.text").exist?
вместо. Но все же Рубокоп жалуется:
config/environments/development.rb:17:6: C: Please use Rails.root.join('path', 'to') instead.
if File.join(Rails.root, "tmp/caching-dev.text").exist?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Что означают аргументы path
и root
? Неужто Rails.root
это путь ?!
Rails.root
- это экземпляр Pathname. Весь смысл Pathname состоит в том, чтобы предоставить абстракцию, которая предоставляет кроссплатформенные пути, чтобы ваш код мог работать в этой глупой ОС, которая получила все наоборот. - person max   schedule 09.11.2017