假设我正在开发一个Ruby gem,它将通过添加到其gemfile文件中来安装在项目中。从我的宝石中,我想知道项目的根目录路径。我怎么弄到的?从Ruby Gem中,我如何获取项目的目录路径?
0
A
回答
1
如果您使用的是Rails,请使用Rails.root
。
如果你不知道'主要项目'是Rails ......那么它并不是一个好方法。
全球$0
是ruby脚本被调用的命令名称。但是这不会包含一条路径。你可以试试File.expand_path $0
,但是有很多原因会导致这个不能给你你想要的,包括程序可能改变了它的“工作目录”。 Dir.pwd
会给你“当前工作目录”,只有当项目从“项目目录”被调用并且代码没有改变当前工作目录时,它才可能是“项目”的目录。
通常情况下,ruby中实际上没有“项目”或“项目目录”的内置概念 - 您可以拥有一个根本不属于项目组成部分的ruby脚本,它只是一个文件生活在你想要的文件系统中的任何地方。
我不认为有一个通用的可靠方法来做到这一点,它取决于“项目”是如何建立的,当然这是宝石不能确定的。
但是,如果您使用的是Rails,Rails.root
,因为Rails具有如何设置和调用的约定,并在其启动过程中实现了功能Rails.root
以记录Rails的项目目录。
相关问题
- 1. 如何从测试项目中获取项目的路径?
- 2. 如何在spring中获取项目目录的路径?
- 3. 获取路径到项目目录旁边的目录 - JAVA
- 4. 如何获取项目目录的路径
- 5. 如何获取我的WinForm应用程序项目中的目录路径
- 6. 如何获取Django中临时目录的子目录路径
- 7. C - 获取目录路径
- 8. 从Spring bean获取目录的路径?
- 9. 获取文件的路径从项目
- 10. OCaml:如何获取当前模块的路径* /我的项目目录?
- 11. 如何获取工作目录路径?
- 12. c#获取项目中目录的路径
- 13. 从SDCARD ANDROID 6.0.1获取目录路径
- 14. 如何显示路径超出我的Ruby on Rails项目目录的图像
- 15. 如何从Groovy中的完整路径获取当前目录?
- 16. 如何从项目中获取存储项目的文件路径?
- 17. 获取路径中的一级目录
- 18. Ruby on Rails目录路径
- 19. 如何从批处理脚本中的文件路径获取目录路径
- 20. 在C中获取项目的路径#
- 21. 获取列表中项目的路径
- 22. 如何在Perfect 2.0中获取项目文件夹的根目录路径?
- 23. 如何从输入中获取文件夹/目录路径?
- 24. 如何从android目录中获取绝对路径URI
- 25. 如何获取我的路径的每个目录名称?
- 26. 如何从eclipse中使用java获取当前项目路径
- 27. 获取目录文件的路径
- 28. 获取Silverlight ClientBin目录的路径
- 29. Javascript:获取目录的完整路径
- 30. 如何从PHP的完整路径获取目录名称?
也http://stackoverflow.com/questions/10132949。 – sawa
我认为这个问题可能是重复的,但它似乎要求使用gem项目的目录而不是gem目录本身的路径。 – matt
@matt如果是这样,那么这与宝石无关。 – sawa