如何通过 Rails 从控制器使用库中的模块?

How to use module in lib from controller with Rails?

我在我的 lib 目录中创建了一个模块:

# lib/a/b/c.rb
 module A
   module B
     class C
       def say
         p 'Hi!'
       end
     end
   end
 end

现在我想从此模块文件中调用 C class。

# app/controllers/c_controller.rb
@data = A::B::C.new.say

并将其添加到配置文件中:

# config/application.rb
config.autoload_paths += %W(#{config.root}/lib)

但是它给了我一个错误:

NameError in CController#index
uninitialized constant CController::say

我的来源有误吗?

我知道原因。需要在controller的第一行加上require

require 'a/b/c'