Tengo una matriz y los elementos que contiene son una combinación de 2 modelos: Article y Profile .
¿Hay alguna forma de verificar si hay un modelo de Article y/o Profile dentro de la matriz? ¿Las funciones que vi como include? trabajan para los elementos específicos y no para su clase.
Ejemplo: Dado [Profile1, Profile2, Article1] , quería verificar si hay un Article o Profile allí. Solo puedo verificar si hay un elemento llamado Profile1 .
¡Cualquier ayuda sería muy apreciada! ¡Gracias!
La solución más fácil:
simplemente puede verificar si la matriz contiene un objeto de perfil usando:
array = [Profile1, Profile2, Article1] array.any?(Profile)y de manera similar para el artículo:
array.any?(Article)
Gracias
Incluso puedes usar instance_of?
array = [Profile1, Profile2, Article1] array.any?{ |v| v.instance_of?(Profile) || v.instance_of?(Article) }Si quieres contar todos los modelos, puedes hacer esto:
para el artículo
array = [Profile1, Profile2, Article1] array.map{ |v| v.instance_of?(Article) }.count(true)para perfil
array.map{ |v| v.instance_of?(Profile) }.count(true)