Sinatra框架工作的MVC模式

my_*_*fox 5 ruby sinatra

我想用'Sinatra'框架开始编码,但我找不到这个框架的'MVC'模式.是'MVC-Sinatra'模式还是框架?

sen*_*ome 5

你可能想看看Padrino

这是一个围绕Sinatra构建的框架,它为您的项目提供了更多"Rails like"的感觉,但没有那么多隐藏的魔法.这是Sinatra可以做些什么的一个很好的例子.

虽然这很好,如果你需要开始,我个人会建议你用它作为学习工具,使用Sinatra以对你最有意义的方式构建自己的应用程序.写一些测试/期望,写一些代码,通过测试 - 重复:)

至于ORM,你也应该查看续集(imho)非常简单但非常灵活和强大.


col*_*ect 3

Sinatra 是一个轻量级库,旨在不妨碍您,为您打开大门以包含或创建每个项目所需的内容。

\n\n

也就是说,您可以相当轻松地在 Sinatra 之上创建自己的 MVC,并为您的模型合并 ActiveRecord、DataMapper、Sequel 等。这是一个示例结构 -

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Gemfile\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 controllers\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 application_controller.rb\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 models\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 model.rb\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.erb\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 environment.rb\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.ru\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 public\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 stylesheets\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 spec\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 controllers\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 features\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 models\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 spec_helper.rb\n
Run Code Online (Sandbox Code Playgroud)\n\n

Gemfile - 所有宝石都存放在那里。

\n\n

应用程序目录- MVC 目录的文件夹 - 模型、视图和控制器。

\n\n

模型目录- 保存应用程序背后的逻辑。

\n\n

控制器目录- 应用程序配置、路由和控制器操作在其中实施。

\n\n

视图目录- 保存将在浏览器中显示的代码。

\n\n

config.ru -config.ru构建基于 Rack 的应用程序并使用rackup/shotgun 启动应用程序服务器时需要该文件(ru 代表rackup)。

\n\n

配置目录- 带environment.rb文件将应用程序中的所有文件连接到适当的 gem 并相互连接。

\n\n

公共目录- 保存您的前端资产 - CSS / JS / 图片等...

\n\n

规范目录- 包含您的应用程序的任何测试。

\n