一般建议和推荐的文件夹结构-Sinatra



如何构建一个简单的Sinatra应用程序?

我现在正在制作,我希望该应用程序具有以下功能:

  1. "应用程序"更像是一个管理面板,用于显示其中的所有信息。然后另一个应用程序将通过REST访问信息。我还没有创建面板,只是从数据库中获取信息
  2. 会话和身份验证(尚未实现)
  3. 你可以上传图片,其他应用程序可以显示这些图片
  4. 我使用RSpec创建了一个测试文件
  5. 通过Prawn生成报告

目前的设置是这样的:

app.rb
test_app.rb

因为我实际上只有应用程序和测试文件。到目前为止,我已经为ORM使用了Datamapper,为数据库使用了SQLite。这是我的第一个Ruby/Sinatra项目,所以欢迎任何和所有的建议-我应该使用什么其他库,我应该放config.ru等东西吗?

Sinatra在文件结构方面并不固执己见,您可以随心所欲地放置文件。当我刚开始的时候,我只是把所有的东西都放在了最高级,但随着时间的推移,阅读人们如何构建他们的代码,阅读gems的源代码,我把我的代码分解成了更小的.rb文件,这些文件实现了一个特定的功能,并将所有这些文件都放在/lib下,这可能是rails遗留下来的惯例,但在rails中没有任何与之相关的魔力。如果你使用scs或coffee脚本,它们依赖于某些文件夹的存在,随着时间的推移,你会自己发现(即使这样,你也可以随心所欲地重新配置它们),从中你会发现什么最适合你。

如果您编写了一个restful api,请查看grape-https://github.com/intridea/grape

你也会发现sinatra contrib非常有用——https://github.com/sinatra/sinatra-contrib

至于如何处理您的config.ru-https://github.com/rack/rack/wiki/%28tutorial%29-跟踪

最新更新