在rails控制台中使用自定义类

时间:2012-01-27 16:28:16

标签: ruby-on-rails ruby console

我创建了一个自定义类,我在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控制台中使用该类,我需要做什么?

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

将文件命名为 my_class.rb ,并将其放在 my_module 目录中。这应该可以解决你的问题。

相关问题