我正在开发一个 Rails 4.2应用程序,刚刚在结构中添加了 app/services/fetch_artists.rb
。在这个文件中,我定义了一个 class FetchArtists; end
。
当尝试运行 rails r 'FetchArtists'
时,它给我一个 NameError: uninitialized constant FetchArtists
。
我试着看了看 ActiveSupport::Dependencies.autoload_paths
,的确,app/services
不在那里:
/.../app/assets
/.../app/controllers
/.../app/helpers
/.../app/jobs
/.../app/mailers
/.../app/models
/.../app/controllers/concerns
/.../app/models/concerns
/.../spec/mailers/previews
我的问题是,为什么这个文件夹没有自动加载,我应该怎么做呢?
剪辑
非常奇怪,在用 rails runner
重复运行上述命令之后,新的文件夹出现在自动加载路径上。我不知道为什么事情发生得这么慢。
有人认为这可能与 spring
有关。我希望听到更多关于这方面的信息,因为它可能也能帮助很多处于这种情况的人。