为什么不要求添加所有名称?

时间:2012-07-05 19:40:36

标签: ruby

我有一个文件my_helper.rb,如下所示:

require 'cgi'
require 'enumerator'

module MyHelper
  # ...
end

class MyUpstreamError < StandardError
  # ...
end

当我在其他地方require 'my_helper'时,MyHelper变得可见,但MyUpstreamError却不可见。这是为什么?

2 个答案:

答案 0 :(得分:0)

Ruby的要求类似于C中的包含。

您可能希望阅读: http://rubylearning.com/satishtalim/including_other_files_in_ruby.html http://ionrails.com/2009/09/19/ruby_require-vs-load-vs-include-vs-extend/

答案 1 :(得分:0)

原来是文件名冲突。在我的Rails设置的my_helper.rb目录中有另一个名为helpers的文件,我从未编辑过该文件。它正在隐藏此文件,该文件位于lib