Hay un atributo dinámico útil en activo disco llamado find_or_create_by:Rails find_or_create por más de un atributo?
Model.find_or_create_by_<attribute>(:<attribute> => "")
Pero lo que si necesito find_or_create por más de un atributo?
Supongamos que tengo un modelo para manejar una relación M: M entre un grupo y un miembro llamado GroupMember. Podría haber muchas instancias donde member_id = 4, pero no quiero más de una vez instancia donde member_id = 4 y group_id = 7. Estoy tratando de averiguar si es posible hacer algo como esto:
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Me doy cuenta de que hay mejores maneras de manejar esto, pero me gusta la conveniencia de la idea de find_or_create.
Gracias por los carriles 4 de actualización. Me gusta;) – tybro0103
También te puede interesar https://github.com/seamusabshere/upsert - el primer argumento es un hash de atributos que se usa para buscar o crear un registro –
Es útil tener en cuenta que las llamadas de inicialización crean() en lugar de new() que podría llamarse en caso de first_or_create –