我有一个文件my_helper.rb
,如下所示:
require 'cgi'
require 'enumerator'
module MyHelper
# ...
end
class MyUpstreamError < StandardError
# ...
end
当我在其他地方require 'my_helper'
时,MyHelper
变得可见,但MyUpstreamError
却不可见。这是为什么?
答案 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
。