如何从Ruby目录中获取文件?

时间:2009-10-10 21:49:11

标签: ruby require

我想我在这里遗漏了一些东西。我有一个这样的目录:

myapp
|-lib
  |-package1
    |-dostuff.rb
  |-package2
    |-dostuff.rb

irb控制台我尝试测试该库,然后将其添加到我的真实项目(Rails应用程序)。但是,输入以下内容:

require 'lib/package1/dostuff'

返回错误,指出无法找到要加载的文件。我将lib目录添加到加载路径但是我无法加载文件。

我忘记了什么?这两个文件名不必相同,但它们是如何开始的(它们是从我需要使用soap4r调用的一些Web服务自动生成的;每个包代表一个不同的Web服务API组)

2 个答案:

答案 0 :(得分:5)

如果目录“lib”在加载路径中,则require的参数必须相对于lib。所以require 'package1/dostuff'没有lib,否则会查找lib/lib/package1/dostuff.rb

答案 1 :(得分:0)

在Ruby 1.9中有新的require_relative方法,可以让你从require_relative "../package2/dostuff"内进行package1/dostuff.rb