1
0
Fork 0
forked from OpenNeo/impress

Remove hundreds of unnecessary queries from /alt-styles page!

I think the Rails query cache handled these anyway? But `SwfAsset` has
a `before_save` hook that checks its zone's info, and
`SwfAsset.preload_manifests` saves all the assets, on the assumption
that saving is a no-op when the record didn't change anyway. And it
basically is!

But I figure that, now that I'm realizing hooks exist, simply not
attempting to save unchanged records is probably a better
representation of what we intend to do. So I'm fixing it like that!

Another potential fix would be to preload the zones for these assets,
but I think that confuses the intent too much; the method itself isn't
using the zones, it's just a weird incidental thing that a save hook
happens to use. (Would probably be better to refactor this old save
hook into a different situation altogether, but that's for another
time!)
This commit is contained in:
Emi Matchu 2024-05-29 18:52:36 -07:00
parent 244bb7627a
commit 1e99376449

View file

@ -338,7 +338,7 @@ class SwfAsset < ApplicationRecord
end
SwfAsset.transaction do
swf_assets.each(&:save!)
swf_assets.select(&:changed?).each(&:save!)
end
end