Каков эффективный и элегантный способ выполнения "find_or_create_all" в рельсах?
Дано:
names = ["Bob", "John", "Jack", "Sid"],
Таблица пользователей
Необходимо:
users = ["#User: 0x3ae3a00", "#User: 0x3ae3938", "#Пользователь: 0x3ae3898 "," #User: 0x3ae37f8 "]
, где пользователь создается, только если он не существует.
Промежуточное решение - [" #Пользователь: 0x3ae3a00 ", nil, nil," #User: 0x3ae37f8 "] также будет делать, если, например, в таблице Users существуют только первая и четвертая записи.
Один из способов - использовать find_all_by_name и использоватьхэш для сопоставления с записями в массиве names, но мне интересно, есть ли в rails элегантный, но эффективный способ.