0

目前我有以下结构的 JSON 视图(.json.erb):

[
<% @master_entities.each do |master| %>
  {
   "attr1": <%= master.attr1 %>,
   "attr2": <%= master.attr2 %>,
   "attr3": <%= master.attr3 %>,
   "attr4": <%= master.attr4 %>,
   "details1": <%= render 'detail_view1', {master: master} %>,
   "details2": <%= render 'detail_view2', {master: master} %>
  },
<% end %>
]

详细视图具有以下结构:

[
<% Detail_entity1.find_all_by_master_id(master.id).each do |detail1| %>
  {
   "attr1": <%= detail1.attr1 %>,
   "attr2": <%= detail1.attr2 %>,
   "attr3": <%= detail1.attr3 %>
  },
<% end %>
]

这会导致对每个主实体的额外查询。

我不喜欢我在视图中查询详细信息模型的事实。

我可以对 master 和 details 执行一个可靠的查询,但起初我担心它会消耗大量内存,其次 - 如何使用 Ruby on Rails 为 master 分组条目意味着?以及如何通过 master.id 从整个数组中提取详细信息?

或者可能有另一种有效地完成任务的方法?

4

0 回答 0