Как указывают другие ответы, это угроза безопасности, поскольку .
в вашем пути загрузки относится к текущему рабочему каталогу Dir.pwd
, а не к каталогу текущего загружаемого файла. Так что, кто бы ни выполнял ваш скрипт, он может изменить это просто, cd
, перейдя в другой каталог. Не хорошо!
В качестве альтернативы я использовал полные пути, построенные из __FILE__
.
require File.expand_path(File.join(File.dirname(__FILE__), 'filename'))
В отличие от require_relative
, он обратно совместим с Ruby 1.8.7.