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/include_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 に答える