Il existe un attribut dynamique pratique dans l'enregistrement actif appelé find_or_create_by:
Model.find_or_create_by_<attribute>(:<attribute> => "")
Mais que faire si j'ai besoin de trouver_ou_créer par plus d'un attribut?
Disons que j'ai un modèle pour gérer une relation M: M entre le groupe et le membre appelé GroupMember. Je pourrais avoir de nombreuses instances où member_id = 4, mais je ne veux jamais plus d'une fois où member_id = 4 et group_id = 7. J'essaie de comprendre s'il est possible de faire quelque chose comme ceci:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Je me rends compte qu'il peut y avoir de meilleures façons de gérer cela, mais j'aime la commodité de l'idée de find_or_create.