Ian*_*Ian 11
我不认为RubyGems会对你应该存储这样的文件做出任何断言.我会把它放在下面lib/并像@mkrmr那样说.File.expand_path不过,我会使用它,因为它减少了键入并修复了符号链接和移动文件的偶然问题:YAML.load_file(File.expand_path('../../midi_codes.yml', __FILE__))
小智 7
如果将此文件放在Gem源树中的某个位置,则可以使用相对路径加载它.从您想要阅读的位置,您可以像这样定义路径:File.dirname(__FILE__) + "/here/is/my/file.txt"
您可以使用路径修改器...就像在shell上一样上一个目录.
这些文件有指定的位置.
<gemdir>/data在gem中调用的文件夹Gem.datadir方法找到此目录.这似乎创建了一个预期公开的目录.
如果您希望此文件是私有的,那么使用该File.dirname(__FILE__) + "/path"技巧将实现这一目标.