在我的模型或视图助手中创建方法更高效吗?

时间:2014-12-24 22:35:53

标签: ruby-on-rails performance

我正在创建一个家谱,我将创建计算各种关系的方法(例如"兄弟姐妹","配偶"等)。

几年前整个"脂肪模型,瘦瘦的控制器"范例抓住了Rails社区,所以这是我的默认位置 - 只需将它们放入User模型中。但是由于Rails 4如此关注和帮助,我现在想知道哪个是最好的选择。

我应该将它们放入我的User模型中,还是将它们放在我的DashboardHelper中(假设它们将在Dashboard#Index中使用),这是从性能角度来看。

我想问题是所有方法都不能在每个Dashboard视图上调用,但是如果我将它们放在DashboardHelper中,那么所有方法都会在每个Dashboard#Action上实例化吗?

从性能角度来看哪个更好?为什么?

1 个答案:

答案 0 :(得分:1)

我发现将数据发送到视图时整体加载时间会减少。

在模型(首选)或控制器中创建数据获取和查询方法,并将数据 TO 传递给视图。

该视图希望将数据传递给它。否则当它必须自己获取数据时(比如查询或查询数据库的辅助方法或以某种方式安排一些巨大的散列/数组),那么视图渲染速度自然会受到影响。