当前位置:  开发笔记 > 编程语言 > 正文

Ruby on Rails中模型设计的最佳实践

如何解决《RubyonRails中模型设计的最佳实践》经验,为你挑选了3个好方法。

RoR教程为每个表提供一个模型,以便ORM工作.我的数据库模式有大约70个表在概念上划分为5组功能(例如,任何给定的表存在于一个且只有一个功能组中,并且不同组的表之间的关系被最小化.)因此:我应该为每个概念组设计一个模型,或者我应该简单地拥有70个Rails模型并让分组"概念化"?谢谢!



1> Clinton N. D..:

最有可能的是,你应该有70个型号.您可以将模型命名为5个名称空间,每个组一个,但这可能比它的价值更麻烦.更有可能的是,每个组都有一些共同的功能.在这种情况下,我会为包含其行为的每个组创建一个模块,并将其包含在每个相关模型中.即使没有共享功能,执行此操作也可以让您快速查询模型的概念组.



2> Dan Harper..:

我通过确保表格/模型在概念上按名称分组(几乎是1:1的表格 - 模型关系)来覆盖我的一个大型应用程序.例:

events
event_types
event_groups
event_attendees
etc...

这样,当我使用TextMate或其他任何东西时,模型文件通过alpha排序很好地组合在一起.我在这个应用程序中有80个模型,它运行良好,可以保持井井有条.



3> Ben..:

你绝对应该为每个表使用一个模型,以便利用所有的ActiveRecord魔法.

但您也可以使用模块和子目录将模型组合到命名空间中,以避免在模型目录中管理70个文件.

例如,您可以:

app/models/admin/user.rb
app/models/admin/group.rb

对于模型Admin :: User和Admin :: Group,and

app/models/publishing/article.rb
app/models/publishing/comment.rb

出版::文章和出版::评论

等等...

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有