在多个文件中使用类时,在require语句中加载错误

时间:2015-04-10 18:50:01

标签: ruby class module

我对Ruby很新,面对一个非常基本的问题我猜。我可能错过了一些基本的概念和结构。所以这就是我想要做的,

我正在写一个sinatra项目,我有一个用不同文件编写的类。结构看起来像这样,

project_name
- api.rb
- base.rb
- settings.rb

在我的api.rb文件中,我定义了一个类和一些方法,它还调用了一些形式为base.rb的方法,base.rb调用了一些来自settings.rb的方法

在api.rb

require 'sinatra'
require 'json'
require 'uri'
require 'base'  --> This is the base.rb which is resulting in error

module XX
  class Api
    def some_method
      base = Base.new
      base.setup
      # some more code
    end
  end
end

在base.rb中,它具有以下代码

require 'settings'

module XX
  class Base
    def setup
      # some code
    end

    def some_method
      #some code
    end
  end
end

当我刚运行ruby api.rb时,我在require语句中遇到错误,无法加载这样的文件 - 基础(LoadError)。

我在这里失踪的是什么?另外,ruby如何知道它是宝石还是需要文件。它检查是否需要是项目中的文件,然后继续检查宝石?这个过程如何在ruby中完成?

非常感谢任何帮助!

0 个答案:

没有答案