Rails ActiveStorage - ассоциации has_on_attached / has_many_attached загружаются по умолчанию - PullRequest
0 голосов
/ 04 декабря 2018

У меня проблема с ActiveStorage, в настоящее время у меня есть отношение has_on_attached и has_many_attached на моей модели

Каждый раз, когда я вызываю свою модель, она загружает отношение, как показано ниже:

ActiveStorage::Attachment Load (4.2ms) SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4 [["record_id", 4934], ["record_type", "User"], ["name", "profile_picture"], ["LIMIT", 1]]

ActiveStorage::Attachment Exists (0.9ms) SELECT 1 AS one FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4 [["record_id", 4934], ["record_type", "User"], ["name", "home_pictures"], ["LIMIT", 1]]

Как отключить это поведение по умолчанию?

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете использовать Model.with_attached_images.find(:id), чтобы избежать N + 1

https://github.com/rails/rails/tree/master/activestorage#examples

Я не уверен, что вы можете отключить активную загрузку вложений, но приведенное выше должно помочь очиститьнемного.

...