Ruby on rails 完全被未初始化的常量难住了
对于我正在处理的gem,我不断得到一个未初始化常量的错误。我不明白怎么找不到这个文件。我尤其感到困惑,因为我在同一个位置有一个类似的文件,具有相同的语法,而且它被读取得很好 我不确定要包含哪些文件,所以如果有帮助,请在注释中输入您希望看到的文件名 lib/gender.rb: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
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'