Ruby on rails 完全被未初始化的常量难住了

Ruby on rails 完全被未初始化的常量难住了,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,对于我正在处理的gem,我不断得到一个未初始化常量的错误。我不明白怎么找不到这个文件。我尤其感到困惑,因为我在同一个位置有一个类似的文件,具有相同的语法,而且它被读取得很好 我不确定要包含哪些文件,所以如果有帮助,请在注释中输入您希望看到的文件名 lib/gender.rb: class TextEng::Gender ... end 规范/性别\u规范rb: require_relative 'spec_helper' describe TextEng::Gender do #this

对于我正在处理的gem,我不断得到一个未初始化常量的错误。我不明白怎么找不到这个文件。我尤其感到困惑,因为我在同一个位置有一个类似的文件,具有相同的语法,而且它被读取得很好

我不确定要包含哪些文件,所以如果有帮助,请在注释中输入您希望看到的文件名

lib/gender.rb:

class TextEng::Gender
  ...
end
规范/性别\u规范rb:

require_relative 'spec_helper'

describe TextEng::Gender do #this is the line that's throwing an error
   ...
end
text_eng.gempec:

$:.push File.expand_path("../lib", __FILE__)
下面是错误:

/Users/stevenspiel/text_eng/spec/gender_spec.rb:3:in `<top (required)>': uninitialized constant TextEng::Gender (NameError)
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `each'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load_spec_files'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:22:in `run'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:80:in `run'
    from /Users/stevenspiel/.rvm/gems/ruby-2.1.0/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:17:in `block in autorun'
规范/性别\u规范rb

require_relative 'spec_helper'

describe TextEng::Name do # this line does not throw any errors
  ...
end

这是为什么?

spec/gender\u spec.rb
似乎不知道
TextEng::gender
类。在尝试使用该类之前,您应该需要定义该类的文件:

require 'gender'

describe TextEng::Gender do
  # ...
end
注意,根据rubygems约定,
TextEng::Gender
类应该在
lib/text\u eng/Gender.rb
文件中定义,因此
require
调用应该如下所示:

require 'text_eng/gender'

谢谢你,马修斯。这确实有效,但我想我不应该需要它,特别是因为同一目录中的文件没有问题。我将更新我的答案,以包括该文件及其规范测试。也许
spec\u helper
与此有关。
require 'text_eng/gender'