我正在开发一个Sinatra / Rack应用程序,我遇到了一个设计问题。我环顾四周,我不太确定在哪里放置大量的require
声明。
我认为他们进入了两个地方之一,要么是在需要Sinatra之后的main.rb
,要么是他们进入config.ru
所以他们都在应用程序开始时加载。
我目前倾向于main.rb
,因为这是所有测试应用程序所加载的。
谢谢您的帮助。
我建议:
config.ru
主应用程序文件。init.rb
文件,并在主应用程序中需要这些文件。这是我使用的布局示例: Using Sinatra for larger projects via multiple files
请注意,通过加载与DB相关的gems并在models / init.rb中设置数据库,您可以(从IRB)加载该文件并使您的完整模型堆栈可用于戳。
看看Engine Yard的这篇博客文章。它可以很好地解释你想知道什么:https://www.engineyard.com/blog/using-the-rubygems-bundler-for-your-app
看看我的源代码。 https://github.com/sirfilip/sinatrablog
:)
刚刚意识到我必须删除模型中的所有require语句,因为它们无论如何都不需要。
其中最有趣的文件是bootloader.rb。如果你想跟随请求路径从配置ru开始,它充当应用程序的前端控制器。