ruby - 项目目录的相对路径

标签 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__))

或者您可以计算两个目录之间的相对路径。

require 'pathname'; 
puts Pathname.new('/').relative_path_from(Pathname.new('/some/child/dir/')).to_s
# => ../../..

关于ruby - 项目目录的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416578/

相关文章:

ruby - 处理除 Ruby 中的一种错误之外的所有类型的错误?

ruby - 对哈希进行排序的最快方法是什么?

ruby - Shopify脚本编辑器使用产品标签而不是id

ruby-on-rails - 从 Heroku 建立与/Amazon s3 的连接

ruby - 如何从以下 ruby​​ 正则表达式中删除引号?

ruby-on-rails - Rails4 : How to display the data when association data doesn't exist

ruby - block 局部变量的语法

如果调用了 Mechanize 代理的 read_timeout=,则 ruby​​ Fakeweb 错误

ruby-on-rails - 了解 rails 与 Puma 和 Capybara 的冲突。如何在 Gemfile 中正确安装 puma?

ruby - 使用条件运算符 "for"和 Ruby 的 .each 打印哈希中的值