Fre*_*ies 7 ruby-on-rails rails-models
我最近和我的一个朋友讨论过,他也是一名RoR开发人员.我们争论如何管理Rails模型.我个人喜欢在默认命名空间中只留下根模型(例如User,Article,Bill等),并且依赖模型转到一个模块(例如User :: Profile,User :: Activity),其名称为root他们与之相关的模型.
另一方面,我看到许多项目在默认命名空间中有100个模型,如user_profile,user_activity等.从Java(Spring)开发来看,java社区倾向于在包中组织类并将它们逻辑分组,我觉得这很有吸引力.
所以问题是:在模块中对模型进行分组是否存在任何缺陷(除了额外的:关系定义中的class_name),是否存在人们通常不这样做的具体原因?
尽管命名空间有其优点,但它确实需要在整个模型中添加例外。Foo::Bar 假定关联的表名称为bars和bar_id,而您可能更喜欢使用foo_bars和来代替。foo_bar_id
如果您确实对此有强烈的感受,您可能想看看是否有一个附加组件可以为您解决这个问题,或者实现您自己的扩展。
我使用命名空间的唯一情况是在第三方应用程序中使用附加组件,我不想声明根级模型名称,因为这会很烦人。在这种情况下,额外的努力是值得的。
如果您对看到 100 多个没有任何分组的模型文件感到烦恼,那么您可能也会对看到 100 多个没有分组的表感到烦恼,而这通常是您无法修复的问题。
控制器可以很自然地进行分组,但模型并不那么容易适应,至少对于现有的 ActiveRecord 来说是这样。
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |