控制器中无法加载的模块-NameError:未初始化的常量

时间:2019-02-27 15:45:19

标签: ruby-on-rails ruby

如果我具有以下目录和文件结构,如何加载我的服务模块:

MarketShare::Fooapp/services/market_share/foo.rb

因此我可以使用Rails控制台(例如:MarketShare::Foo)访问此模块,但是在Report::MarketSharesController的控制器app/controllers/report/market_shares_controller.rb中,我遇到此错误:

NameError: uninitialized constant Report::MarketSharesController::Foo

当我打电话给MarketShare::Foo时。

我也在自动加载程序中插入了此路径:

config.autoload_paths.push(Rails.root.join('app/services/market_share')) 

但是我又遇到了同样的错误。

编辑:伙计们,我也尝试停止rails server并也停止spring,但是错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

您不需要此配置:

  

config.autoload_paths.push(Rails.root.join('app / services / market_share'))

尝试以下操作:

  

1- STOP导轨:CRTL + z

     

2- STOP弹簧:仓/弹簧停止

     

3- START Rails:bin / rails s

重新加载您的应用