如何获取rakefile.rb所在的目录?

我想用它作为我的根目录来找到所有内容。

有帮助吗?

解决方案

使用 __ FILE __ 获取文件名,然后从那里获取目录:

test.rb

中的

puts __FILE__

输出:

/users/foo/test.rb

__ FILE __ 解析为其所在文件的完整路径。

使用此命令获取目录名称:

File.dirname(__FILE__)

其他提示

您可以通过调用 application.original_dir 方法获取它。在任务中,您可以在任务对象上使用应用程序方法实现应用程序对象。

为什么不直接使用Dir.pwd

如果这是一个RoR应用程序,您的Rakefile.rb应该在您的RAILS_ROOT目录中。因此,在任何脚本中,您都可以指定文件位置,如

 config.load_paths += %W( #{RAILS_ROOT}/extras )

从Ruby 2开始,您可以使用 __ dir __ 而不是 File.dirname(__ FILE __) 以获取包含当前脚本的目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top