Can you not use `find_or_create_by` here?