移动文件后如何不更改 require_relative

How not to change require_relative after moving files

我对执行此操作的最佳方法有一些疑问:
我有文件 framework/helpers/test_helper.rb
它以行
开头 require_relative '../../framework/app_manager/app_manager'
经过一番努力后,我想重新组织 framework/helpers 文件夹并将此文件移动到 framework/helpers/test/test_helper.rb
之后我必须将此文件的第一行更改为
require_relative '../../../framework/app_manager/app_manager'

所以我的问题是 - 这是 require_relative 文件的最佳方式,所以每次将文件从一个文件夹移动到另一个文件夹时,我不需要更改 require_relative 行。

最好的方法是完全不使用 require_relative

将包含您需要的文件的目录放在 $LOAD_PATH 中,然后只 require 它们。

如果以后更改目录结构,只需更改设置 $LOAD_PATH 的行,而不是任何 require 行。

这就是为什么要按 ruby 的意图使用 $LOAD_PATH,并避免使用 require_relative

http://joshuapaling.com/blog/2015/03/22/ruby-load-path.html