Sinatra,在哪里放置require语句

时间:2011-03-04 16:07:39

标签: ruby sinatra

我目前正在开发Sinatra / Rack应用程序,但我遇到了一个设计问题。我环顾四周,而且我不确定在哪里放置大部分require语句。

我认为他们进入两个地方之一,要么是Sinatra本身后要么是main.rb,要么就是config.ru,所以它们都是在应用程序开始时加载的。

我目前倾向于main.rb,因为这是所有测试应用程序所加载的。

感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

我建议:

  • 仅从您的config.ru
  • 中获取您的主应用文件
  • 要求Sinatra并在主应用中查看宝石
  • 为每个帮助者,模型和路线创建单独的init.rb个文件,并在主应用程序中要求这些文件。
  • 在models / init.rb
  • 中需要与DB相关的gem

以下是我使用的布局示例:
Using Sinatra for larger projects via multiple files

请注意,通过加载与DB相关的gems并在models / init.rb中设置数据库,您可以(从IRB)加载该文件并使您的完整模型堆栈可用于戳。

答案 1 :(得分:1)

看看Engine Yard的这篇博客文章。它可以很好地解释您想要了解的内容:https://www.engineyard.com/blog/using-the-rubygems-bundler-for-your-app

答案 2 :(得分:0)

看看我的源代码。 https://github.com/sirfilip/sinatrablog

:)

刚刚意识到我必须删除模型中的所有require语句,因为无论如何都不需要它们。

其中最有趣的文件是bootloader.rb。如果你想跟随请求路径从配置ru开始,配置ru充当应用程序的前端控制器。

相关问题