我目前正在开发Sinatra / Rack应用程序,但我遇到了一个设计问题。我环顾四周,而且我不确定在哪里放置大部分require
语句。
我认为他们进入两个地方之一,要么是Sinatra本身后要么是main.rb
,要么就是config.ru
,所以它们都是在应用程序开始时加载的。
我目前倾向于main.rb
,因为这是所有测试应用程序所加载的。
感谢您的帮助。
答案 0 :(得分:6)
我建议:
config.ru
。init.rb
个文件,并在主应用程序中要求这些文件。以下是我使用的布局示例:
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充当应用程序的前端控制器。