【发布时间】:2016-06-03 07:52:35
【问题描述】:
我想开始使用“Sinatra”框架进行编码,但我找不到该框架的“MVC”模式。 是“MVC-Sinatra”模式还是框架?
【问题讨论】:
-
Sinatra 非常轻薄,非常适合不需要大量开销的快速操作。如果你需要更多的东西,Rails 可以精简到基础,并提供一个非常强大的 MVC 环境。
我想开始使用“Sinatra”框架进行编码,但我找不到该框架的“MVC”模式。 是“MVC-Sinatra”模式还是框架?
【问题讨论】:
【讨论】:
Sinatra 是一个轻量级库,旨在不妨碍您,为您打开大门,让您在每个项目中包含或创建您需要的内容。
也就是说,您可以相当轻松地在 Sinatra 之上创建自己的 MVC,并为您的模型合并 ActiveRecord、DataMapper、Sequel 等。这是一个示例结构 -
├── Gemfile
├── README.md
├── app
│ ├── controllers
│ │ └── application_controller.rb
│ ├── models
│ │ └── model.rb
│ └── views
│ └── index.erb
├── config
│ └── environment.rb
├── config.ru
├── public
│ └── stylesheets
└── spec
├── controllers
├── features
├── models
└── spec_helper.rb
Gemfile - 你所有的宝石都去哪里了。
App Directory - MVC 目录的文件夹 - 模型、视图和控制器。
模型目录 - 保存应用程序背后的逻辑。
控制器目录 - 实现应用程序配置、路由和控制器操作的位置。
Views Directory - 保存将在浏览器中显示的代码。
config.ru - 在构建基于 Rack 的应用程序和使用 rackup/shotgun 启动应用程序服务器时需要 config.ru 文件(ru 代表 rackup)。
配置目录 - 使用environment.rb 文件将应用程序中的所有文件连接到适当的 gem 并相互连接。
公共目录 - 保存您的前端资产 - CSS / JS / 图片等...
规范目录 - 包含您的应用程序的所有测试。
【讨论】:
Sinatra 非常简单,您可以将模型和控制器放在一个文件中。
请参阅here 以获得有关如何操作的非常简短的指南。
总结几点,
<%= yield %> 则可以用作布局 【讨论】: