目前我有一个以下结构的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提取细节?
或者可能有另一种方法可以有效地完成任务?