1

У меня есть модель пользователя с вложенными атрибутами.Как найти модель с использованием вложенного атрибута

Одним из этих вложенных атрибутов является электронная почта.

Можно ли найти модель пользователя, используя адрес электронной почты, который находится в вложенных атрибутах?

Так что что-то похожее на User.find_by(email: "[email protected]"), но смотрит на вложенный атрибут электронной почты, а не непосредственно на модель пользователя верхнего уровня.

Заранее благодарен!

ответ

4

Учитывая, что пользователя has_many: электронная почта и Email таблица имеет адрес столбца

вы можете использовать includes делать то, что вы хотите

User.includes(:emails).where(emails: { address: '[email protected]' }) 
+0

Большое спасибо –

0

Так что, если у вас есть электронная почта, как вложенный атрибут это означает HAS_ONE или has_many отношение от пользователя к электронной почте

Реверс что belongs_to. Например.

belongs_to :user 

В вашем классе электронной почты. При том, что на месте, вы можете просто сделать:

Email.find_by(email: '[email protected]').user 

 Смежные вопросы

  • Нет связанных вопросов^_^