dma*_*cco 11 ruby model-view-controller sinatra
我正在学习Sinatra,我想知道是否有人知道为Sinatra的项目制作MVC结构的好方法.我有一些想法,但对我来说似乎太麻烦了.
Phr*_*ogz 24
Sinatra已经是"VC" - 您可以将视图与路径(控制器)分开.如果您愿意,可以选择将其分成多个文件; 有关更多信息,请参阅此答案(我的):
通过多个文件将Sinatra用于大型项目
要添加"M"(模型),请选择数据库框架.有些人喜欢ActiveRecord.有些人喜欢DataMapper.您可以选择更多.我个人喜欢并强烈推荐Sequel.我在上面链接的答案也提出了一个包含模型的目录结构和shell.一旦在模型和控制器之间分配适当的逻辑,就会得到"MVC".
请注意,MVC不是关于单独的文件,而是关注点的分离.如果您按照我的建议设置Sinatra应用程序,但是您的视图从模型中获取数据,或者您的路由直接生成HTML(而不是通过"帮助程序"),那么您实际上没有MVC.相反,您可以在单个文件中执行上述所有操作,并且仍然具有MVC应用程序.只需将数据完整性逻辑放在模型中(更重要的是,放在数据库本身中),您的视图中的表示逻辑和可重用的帮助程序,以及控制器中的映射逻辑.
| 归档时间: |
|
| 查看次数: |
7911 次 |
| 最近记录: |