私はこのネストされたループを持っており、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