我在app/services/nested/auth_service.rb
中创建了自己的服务(简单的旧Ruby对象)。当然我决定为它编写测试,所以我在spec/services/nested/auth_service_spec.rb
下的RSpec中创建了文件并在里面写道:
require 'spec_helper'
RSpec.describe Nested::Auth do
end
我添加了spec_helper
,因为Nested::Auth
只是PORO,里面没有任何铁轨内容(所以rails_helper
在这里会有点过分,对吧?)
不幸的是,在运行rspec
命令时出现错误:uninitialized constant Nested::Auth
我在$: << '../app/services'
的顶部添加了spec_helper.rb
,但没有帮助。 $: << '../services'
也没有效果。
如何让spec_helper
看到/services
目录?如何解决uninitialized constant
错误?
答案 0 :(得分:1)
只需遵循Rails惯例,并使用Service
postfix命名您的服务。
这样Nested::AuthService
。现在工作得很好。
答案 1 :(得分:1)
在粘贴的错误消息中,常量拼写错误&#34;未初始化的常量Nasted :: Auth&#34;在哪里&#34; Nasted&#34;有一个&#34; a&#34;而不是&#34; e&#34;。检查您的任何文件是否有错误拼写,如果找到任何内容,请进行修复。