我创建了一个自定义类,我在MyModule模块中调用MyClass
module MyModule
class MyClass
def initialize
... # Some code here
end
end
end
我将此代码保存在名为mymodule.rb
的文件中我将此文件放在rails应用程序的lib目录中,并将以下行添加到我的application.rb
config.autoload_paths += %W(#{config.root}/lib)
当我启动rails控制台并尝试使用此文件时。它只是不起作用。
m = MyModule::MyClass.new()
NameError: uninitialized constant MyModule
from (irb):1
from /Users/matt/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.6/lib/rails/commands/console.rb:44:in `start'
from /Users/matt/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.6/lib/rails/commands/console.rb:8:in `start'
from /Users/matt/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.6/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
为了能够在rails控制台中使用该类,我需要做什么?
任何帮助表示赞赏
答案 0 :(得分:2)
将文件命名为 my_class.rb ,并将其放在 my_module 目录中。这应该可以解决你的问题。