我的lib / modules / module.rb文件夹中有一个模块,app / services / service.rb文件中有一个服务对象。我试图访问我在app / services / service.rb文件中的服务对象中的module.rb中定义的方法。我希望能够在service.rb。
中调用模块方法我写了这一行:
config.autoload_paths += %W(#{config.root}/lib)
在我的application.rb文件中。我究竟做错了什么?我还需要做什么?
如果您需要,我的service.rb文件看起来像这样,是一个PORO。
class FindTrip
attr_reader :destination,
:origin,
:departure_date,
:return_date,
:max_price,
:qpx_service
...
end
答案 0 :(得分:0)
你应该:
1)指定自动加载路径中lib/modules
目录的路径:
config.autoload_paths += %W(#{config.root}/lib/modules)
或
2)在模块类中指定Modules
命名空间。即lib/modules/my_module.rb
它应该是:
module Modules
module MyModule
...
end
end
并使用模块的完整路径:Modules::MyModule
。