如何通过 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'
我在我的 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'