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

标签 ruby-on-rails ruby rspec sinatra

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

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

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

目前的设置是这样的:

app.rb
test_app.rb

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

最佳答案

Sinatra 在文件结构方面没有固执己见,您可以随心所欲地放置文件。当我刚开始的时候,我只是把所有东西都放在顶层,但是随着时间的推移阅读人们如何构建他们的代码,阅读 gems 的源代码,我已经把我的代码分解成更小的 .rb 文件来实现特定的功能并将所有它们在/lib 下,这可能是从 rails 继承下来的约定,但在 rails 中没有任何与之相关的魔力。如果您使用 scss 或 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-rackup-howto

关于ruby-on-rails - 一般建议和推荐的文件夹结构 - Sinatra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611040/

相关文章:

ruby-on-rails - 葡萄 : Rescue from invalid JSON

ruby-on-rails - Rails 回形针::AdapterRegistry::NoHandlerError

ruby-on-rails - 使用 Rails 编辑时自动填充表单值

ruby-on-rails - Capistrano-Rails 错误 : Unable to access log file + unicorn: Permission denied

ruby-on-rails - 初始化的 Mongoid 重载

Ruby 类方法和每个方法 : newbie learning through Bloc

ruby - 使用 Typhoeus 发出请求,某些 URL 始终返回空的 '400' 响应

ruby - 在具有组合因素的 RSpec 中组织测试的最佳方法

ruby-on-rails - 如何创建复杂的 Nested -> Belongs To 对象?

ruby-on-rails - 如何在 Sinatra post 请求上测试 Mailer?