如何使用Rails从控制器中使用lib模块?

时间:2015-05-01 06:42:19

标签: ruby-on-rails module controller ruby-on-rails-4.2

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

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

现在我想从这个模块文件中调用C类。

# 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

我的来源不对吗?

1 个答案:

答案 0 :(得分:0)

我知道原因。必须在控制器的第一行添加require

require 'a/b/c'