2012-01-31 57 views
2

我想使用此代码加载所有的Ruby文件的目录中从一个Ruby文件中的所有文件未初始化恒定误差从Class Foo继承的Class Bar。红宝石时加载一个目录

Class Bar < Foo 

当我运行我的程序时,出现错误:未初始化的常量Foo(NameError)。

我想这是因为它试图加载Bar类,但尚未加载Foo类。

我已经尝试明确要求Foo内部的酒吧,但随后我将得到警告,因为Foo将被加载两次。

如何加载目录中的所有文件,以便自动需要任何所需文件。

回答

1

由于没有真正的方法来强制使用循环时需要文件的顺序,因此首先必须在循环前定义Foo的文件require

require "./pages/file_that_defines_foo.rb" 
Dir["#{File.dirname(__FILE__)}/pages/*_page.rb"].each { |r| load r }