2012-01-27 3 views
1

создать пользовательский класс, который я называю MyClass в модуле MyModuleс помощью пользовательских классов в рельсах консоли

module MyModule 
class MyClass 
    def initialize 
    ... # Some code here 
    end 
end 
end 

я сохранить этот код в файл с именем mymodule.rb

Я поместить этот файл в Lib каталог моего приложения рельсов и добавьте следующую строку в мой application.rb

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

Когда я запущу консоль рельсы и попытаться использовать этот файл. он просто не работает.

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>' 

Что мне нужно сделать для того, чтобы иметь возможность использовать этот класс в консоли рельсы

Любая оцененная помощь

ответ

2

Имя файла my_class.rb и поместить его в справочник my_module. Это должно решить вашу проблему.