在我的app / services / service.rb文件中需要lib / modules / file.rb。我该怎么做呢?

时间:2015-03-14 03:33:58

标签: ruby-on-rails

我的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

1 个答案:

答案 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