0

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

我的应用
|-库
  |-包1
    |-dostuff.rb
  |-包2
    |-dostuff.rb

irb在将库添加到我的真实项目(Rails 应用程序)之前,我正在尝试从控制台测试该库。但是,键入以下内容:

require 'lib/package1/dostuff'

返回一个错误,说它找不到要加载的文件。我将 lib 目录添加到加载路径,但我无法加载文件。

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

4

2 回答 2

5

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

于 2009-10-10T21:53:47.220 回答
0

在 Ruby 1.9 中有一个新的 require_relative 方法,它可以让你require_relative "../package2/dostuff"package1/dostuff.rb.

于 2012-05-19T15:17:26.850 回答