Давайте представим себе, если что у меня есть 5 записей пользователей в БД, один из этих 5 записей является пользователем с возрастом атрибутом 30.Нахождение всех комбинаций записи
И что я хочу, чтобы найти или создать двух пользователей с age
атрибутов 28 и 30.
Если бы я это сделать:
User.where(age: [28, 30])
Это даст мне один пользователь, который имеет возраст 30, но это не даст мне обратно пользователю с 28 лет (не существовать).
Или, если я делаю это
User.where(age: 28).where(age: 30)
Там нет записи с обоих возрастов присутствующих. Предположим, что возраст - это просто произвольный атрибут, а возрастное значение - произвольное значение, которое может быть любым.
Как получить все записи на основе определенной комбинации атрибутов/значений, и если они еще не созданы, создайте их?
Название не описывает вопрос. Вы не спрашиваете, как найти комбинации записей, вы спрашиваете, как «find_or_create» несколько записей на нескольких условиях одновременно. – numbers1311407
Я предполагаю, что ваш пример гипотетический, потому что возраст и пользователи просто не имеют для меня никакого смысла (делая случайных пользователей определенного возраста?). Короче: это невозможно, нет коротких путей, а не 'find_or_create_by' за один раз. Из такого предложения where нечего говорить, какие варианты не встречались, а потом создавать? Не могли бы вы объяснить, что вы пытаетесь достичь более конкретно? – nathanvda