Sinatra - 控制器,如自动加载/包括设置?

时间:2011-10-26 00:06:53

标签: sinatra autoload

我喜欢Rails如何将每个控制器放在它自己的文件中并自动加载,我正在尝试为我的Sinatra网站做同样的事情。

例如,我有“用户”页面,users/loginusers/logout等等,我想要做的就是分开所有这些,以及其他页面,如新闻,admincp等等到他们自己的文件中。

当我的Sinatra网站启动时,我如何自动加载它们?

1 个答案:

答案 0 :(得分:3)

这就是我用我的项目完成这项工作的方式。

我将所有“控制器”放在一个目录中,然后使用以下代码创建了一个名为init.rb的文件:

Dir.glob(File.dirname(__FILE__) + '/*.rb').each do |controller|
 require(controller)
end

然后在我的主app文件中输入以下代码:

__DIR__ = ::File.dirname(__FILE__)
require __DIR__ + '/controllers/init'

希望这有帮助。