ruby – 在Sinatra之上构建MVC结构
发布时间:2020-12-16 22:13:13 所属栏目:百科 来源:网络整理
导读:我正在学习Sinatra,我想知道是否有人知道为Sinatra项目制作MVC结构的好方法.我有一些想法,但对我来说似乎太麻烦了. 解决方法 Sinatra已经是“VC” – 您有与路线(控制器)分离的视图.你可以选择将它分成多个文件,如果你喜欢;对于更多,请看这个答案(我的): Us
我正在学习Sinatra,我想知道是否有人知道为Sinatra项目制作MVC结构的好方法.我有一些想法,但对我来说似乎太麻烦了.
解决方法
Sinatra已经是“VC” – 您有与路线(控制器)分离的视图.你可以选择将它分成多个文件,如果你喜欢;对于更多,请看这个答案(我的):
Using Sinatra for larger projects via multiple files 要添加一个“M”(模型),选择一个数据库框架.有些人喜欢ActiveRecord.有些人喜欢DataMapper.还有更多的你可以选择.我个人喜欢,强烈推荐Sequel.我上面的回答也提到了一个包含模型的目录结构和shell.一旦您在模型和控制器之间分配了适当的逻辑,就可以使用“MVC”. 请注意,MVC不是关于单独的文件,而是分离问题.如果您按照我上面的建议设置了一个Sinatra应用程序,但是您的视图从模型中获取数据,或者您的路由直接生成HTML(而不是通过“帮助”),那么您并没有真正拥有MVC.相反,您可以在单个文件中执行上述所有操作,但仍然有一个MVC应用程序.只需将数据完整性逻辑放在模型中(更重要的是在数据库本身中),您的视图和可重用帮助程序中的表示逻辑,以及控制器中的映射逻辑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Cocos2d-x 基础概念介绍——导演、场景、层、精灵
- swf2pdf转swf时字符集问题
- postgresql – 为什么`libpq`使用轮询而不是数据提取通知?
- PostgreSQL的Slony-I数据同步实践(基于触发器)
- 如何使用dplyr根据组上的聚合函数计算新列?
- Hummer TimeSeries DB 中关于RowId 的使用
- [Swift]LeetCode470. 用 Rand7() 实现 Rand10() | Implemen
- quick-cocos2d-x游戏开发【3】——display.newSprite创建精
- Flash反编译工具(Sonne Flash Decompiler)
- Flutter BoxDecoration的背景颜色会覆盖Container的背景颜色