我有一个使用 MVC 构建的应用程序,它生成一个视图,该视图提供跨多个模型的摘要信息。此外,一些计算是在不同的数据集上执行的。
没有明确的单一模型(至少映射到表)作为起点似乎是有意义的,因此从控制器中的贡献模型中提取各种摘要,传递到视图并在那里执行计算.
但这似乎很脏。但是控制器应该是轻量级的,不是吗?业务逻辑不应该出现在视图中,就像我现在所拥有的那样。
那么这些信息应该在哪里收集呢?一个不映射到表格的新模型?库函数/模块?或者是其他东西?
(虽然我认为这主要是一个架构/模式问题,但我在 Rails 工作,FWIW。)
编辑:全面的好答案,以及很多共识,这令人放心。我“接受”了我为将 Railscasts 的链接保留在顶部所做的回答。我在 Railscast 观看中落后了——我将努力纠正这一点!