В активной записи есть удобный динамический атрибут find_or_create_by:
Model.find_or_create_by_<attribute>(:<attribute> => "")
Но что, если мне нужно find_or_create более чем одним атрибутом?
Скажем, у меня есть модель для обработки отношений M: M между Group и Member, называемым GroupMember. Я мог бы иметь много экземпляров, где member_id = 4, но я не хочу больше одного экземпляра экземпляра, где member_id = 4 и group_id = 7. Я пытаюсь выяснить, можно ли сделать что-то вроде этого:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Я понимаю, что могут быть лучшие способы справиться с этим, но мне нравится удобство идеи find_or_create.