У меня есть этот вложенный цикл, который углубляется на 4 уровня, чтобы найти все виджеты изображений и рассчитать их размеры.Это кажется действительно неэффективным и противным!Я подумал о том, чтобы поместить organization_id в модель виджета, чтобы я мог просто вызвать что-то вроде organization.widgets. (Named_scope), но мне кажется, что это плохой путьЕсть ли способ лучше?Спасибо
class Organization < ActiveRecord::Base
...
def get_image_widget_total
total_size = 0
self.trips.each do |t|
t.phases.each do |phase|
phase.pages.each do |page|
page.widgets.each do |widget|
if widget.widget_type == Widget::IMAGE
total_size += widget.image_file_size
end
end
end
end
end
return total_size
end
...
end