Ruby Sinatra,在哪里放置所需支架
我目前正在开发Sinatra/Rack应用程序,我遇到了一个设计问题。我四处看了看,我不太确定把大部分Ruby Sinatra,在哪里放置所需支架,ruby,sinatra,Ruby,Sinatra,我目前正在开发Sinatra/Rack应用程序,我遇到了一个设计问题。我四处看了看,我不太确定把大部分require语句放在哪里 我想它们会出现在两个地方中的一个,或者是在需要Sinatra之后出现在main.rb中,或者出现在config.ru中,所以它们都是在应用程序开始时加载的 我目前倾向于使用main.rb,因为所有测试应用程序都会加载它 谢谢你的帮助。看看Engine Yard的这篇博文。它很好地解释了您想知道的内容:我推荐: 仅从config.ru中需要主应用程序文件 需要Sina
require
语句放在哪里
我想它们会出现在两个地方中的一个,或者是在需要Sinatra之后出现在main.rb
中,或者出现在config.ru
中,所以它们都是在应用程序开始时加载的
我目前倾向于使用main.rb
,因为所有测试应用程序都会加载它
谢谢你的帮助。看看Engine Yard的这篇博文。它很好地解释了您想知道的内容:我推荐:
- 仅从
中需要主应用程序文件config.ru
- 需要Sinatra并在主应用程序中查看宝石
- 为每个助手、模型和路线创建单独的
文件,并在主应用程序中需要这些文件init.rb
- 在models/init.rb中需要与数据库相关的gem
请注意,通过加载与DB相关的gem并在models/init.rb中设置DB,您可以(从IRB)加载该文件,并使您的完整模型堆栈可供查看。查看我的源代码。 :) 刚刚意识到我必须删除模型中的所有require语句,因为它们根本不需要
其中最有趣的文件是bootloader.rb。如果您想遵循请求路径,请从作为应用程序前端控制器的配置ru开始。Hey here!我目前正在使用Bundler,我可以要求第三方gems。但是我已经在
lib
目录中的单独文件中编写了我自己的类。我的问题更适合所有这些文件。谢谢@埃里克,那么我建议要求他们作为。。。必选。Ok有意义。顺便说一句,Bundler.require\u env已被弃用。正确的语法是now(Bundler.require)[@Eric True。这篇文章现在有点过时了。这正是我想要的。非常感谢。我只是投票支持这个答案,还有链接的答案。我听从了你的建议,孩子,我得到了很棒的结果了吗?继续!