Il y a une pratique dynamique de l'attribut active record appelé find_or_create_by:
Model.find_or_create_by_<attribute>(:<attribute> => "")
Mais que faire si j'ai besoin de find_or_create par plus d'un attribut?
Dire que j'ai un modèle pour gérer un M:M la relation entre le Groupe et Membre appelé GroupMember. J'ai pu avoir de nombreux cas où member_id = 4, mais je ne voulez pas jamais plus d'une fois l'instance où member_id = 4 et group_id = 7. Je suis en train de voir si c'est possible de faire quelque chose comme ceci:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Je me rends compte 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.