Rails - Выберите записи, где не существует активной ссылки на хранилище. - PullRequest
0 голосов
/ 13 ноября 2018

Я использую rails active storage, и я хочу знать, возможно ли создать область, в которой я могу вытащить пользователей, которым не хватает изображения профиля

Предположим, у меня есть User модель

class User < ApplicationRecord
  has_one_attached :avatar
end

Я знаю, что могу проверить, связано ли изображение с объектом, следуя инструкциям

user.avatar.attached?

Но что, если я хочу вытащить тех пользователей из базы данных, у которых отсутствует аватар? Я уверен, что есть лучший способ, чем тянуть всех пользователей и просматривать их, чтобы найти пользователей, у которых нет avatar

Любой совет будет по достоинству оценен.

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете попытаться присоединиться к и получить всех пользователей с аватаром и вычесть их всем пользователям следующим образом:

@no_avatar_users = User.all - User.joins(:avatar)
...