Ruby 对于密集的迭代,前端和后端是否重要?

Ruby 对于密集的迭代,前端和后端是否重要?,ruby,sinatra,erb,Ruby,Sinatra,Erb,我有一个Sinatra应用程序,它显示从数据库查询的一系列信息。由于返回的信息的格式,例如have和admin的id号,而不是他们的名字,我最终做了很多: <% admins.each do |admin| %> <% users.select {|user| user.id == admin.id} %> <%= <li> user.name </li> %> <% end %> <% end %&g

我有一个Sinatra应用程序,它显示从数据库查询的一系列信息。由于返回的信息的格式,例如have和admin的id号,而不是他们的名字,我最终做了很多:

<% admins.each do |admin| %>
  <% users.select {|user| user.id == admin.id} %>
    <%= <li> user.name </li> %>
  <% end %>
<% end %>
嵌套迭代需要时间,我想知道,对于大型列表,执行上面的代码或在控制器中执行繁重的工作与为erb模板准备一个现成列表之间是否存在合理的性能差异

非常感谢


编辑:FWIW,所讨论的数据库是mongodb,服务器正在从不同的集合进行一些数据库调用,以将信息呈现给客户端。

这并不完全是前端与后端问题的答案

但这将特别有助于您的案例:

您应该使用以下选项:

Admin.includes(:users)

这篇博文也很有帮助:

您正在假设所讨论的ORM是ActiveRecord。这不是Rails应用程序,这是Sinatra应用程序。是的,对不起。是mongodb。我编辑了这个问题以反映这一点。虽然是甜蜜的博客帖子!Mongodb是数据库,但什么是ORM?如何从数据库中查询管理员记录?使用查询。所有查询都在后端完成,但我无法决定是在前端还是后端对信息进行排序/处理。