ruby-on-rails – 为什么Rails不能从应用程序/服务自动加载类?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么Rails不能从应用程序/服务自动加载类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Rails 4.2应用程序,并刚刚将app / services / fetch_artists.rb添加到结构中.在这个文件里面,我已经定义了一个FetchArtists类;结束.

当尝试运行rails r’FetchArtists’时,它会给我一个NameError:未初始化的常量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,一个处理预加载你的应用程序的过程.它用于Web服务器以及控制台和Rake任务.

用弹簧弹簧停止弹簧将迫使弹簧加载您的应用程序新鲜.现在运行rails控制台并检查ActiveSupport :: Dependencies.autoload_paths将成功显示应用程序/服务.

猜你在找的Ruby相关文章