Sinatra,在哪里放置require语句

问题描述 投票:2回答:3

我正在开发一个Sinatra / Rack应用程序,我遇到了一个设计问题。我环顾四周,我不太确定在哪里放置大量的require声明。

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

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

谢谢您的帮助。

ruby sinatra
3个回答
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
投票

看看Engine Yard的这篇博客文章。它可以很好地解释你想知道什么:https://www.engineyard.com/blog/using-the-rubygems-bundler-for-your-app


0
投票

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

:)

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

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

© www.soinside.com 2019 - 2024. All rights reserved.