0

我有一个文件,my_helper.rb看起来像这样:

require 'cgi'
require 'enumerator'

module MyHelper
  # ...
end

class MyUpstreamError < StandardError
  # ...
end

当我require 'my_helper'在别处时,MyHelper变得可见,但MyUpstreamError不可见。为什么是这样?

4

2 回答 2

0

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

于 2012-07-05T20:07:48.027 回答
0

Ruby 的 require 类似于包含在 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/

于 2012-07-05T19:57:39.103 回答