在我的Ruby项目中,我使用了很多东西,比如在几个远程框上移动和编辑文件,我真的需要一些东西,比如根项目目录的相对路径.我有许多处理文件夹,它们被用在许多方法中.
现在我有硬编码的路径,但这让我不高兴.
在我的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__))
或者你可以 Select 两个方向之间的相对路径.
require 'pathname';
puts Pathname.new('/').relative_path_from(Pathname.new('/some/child/dir/')).to_s
# => ../../..