帮助理解'require',想从lib导入代码

时间:2011-03-08 16:04:04

标签: ruby-on-rails ruby

我的/ lib文件夹中有一些内容,如:

/lib/some_folder/some_file.rb
/lib/some_folder2/some_file2.rb

现在在我的rails 3应用程序中,我将引用some_file和some_file2

中的方法

如何引用它们而不必根据其module :: class_name.method完全限定它们?

1 个答案:

答案 0 :(得分:3)

我认为您可以使用Include语句,如以下示例所示:

<强> module_test.rb:

module ModuleTest
  class Class1
    def do_something
      puts "Class 1 do something"
    end
  end
end

<强> module_test2.rb:

module ModuleTest2
  class Class2
    def do_something
      puts "Class 2 do something"
    end
  end
end

对模块进行资格认证:

require_relative 'module_test'
require_relative 'module_test2'

ModuleTest::Class1.new.do_something
ModuleTest2::Class2.new.do_something

<子>     的输出:

'Class 1 do something'
'Class 2 do something'

使用包含声明:

require_relative 'module_test'
require_relative 'module_test2'
include ModuleTest
include ModuleTest2

Class1.new.do_something
Class2.new.do_something

<子>     的输出:

'Class 1 do something'
'Class 2 do something'