在我的 Ruby 项目中,我使用了一些杂乱的东西,比如在几个远程盒子上移动和编辑文件,我真的需要一些东西,比如我的根项目目录的相对路径。我有许多用于许多方法的处理文件夹。
现在我对路径进行了硬编码,但这让我很不高兴。
最佳答案
你可以用这个获取当前目录(当前文件的目录)
File.dirname(__FILE__)
然后你可以用到根的相对路径加入它
File.join(File.dirname(__FILE__), '../../') # add proper number of ..
或者您可以使用expand_path
将相对路径转换为绝对路径。
ENV['BUNDLE_GEMFILE'] = File.expand_path('../../Gemfile', File.dirname(__FILE__))
或者您可以计算两个目录之间的相对路径。
require 'pathname';
puts Pathname.new('/').relative_path_from(Pathname.new('/some/child/dir/')).to_s
# => ../../..
关于ruby - 项目目录的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416578/