Tengo una matriz con productos, necesito mostrar solo 1 producto, con el número más grande en cantidad_disponible available_amount ¿Cómo puedo hacer esto?
¿Cómo itero para mostrar productos con parámetros?
- @part.wh_ps.sort_by(&:available_amount).each do |whp| número de producto number1 : cantidad_disponible: 2;
número de producto2: number2 : 5;
Si esos objetos se asignan desde la base de datos como resultado de una consulta y ya los tiene en la memoria, entonces podría usarEnumerable#max_by :
@part.wh_ps.max_by(&:available_amount)Debería devolver el objeto dentro de esa matriz con la mayor cantidad disponible, si corresponde.
Si necesita el que tiene la cantidad available_amount más baja, entoncesEnumerable#min_by , y si necesita ambos Enumerable#minmax_by .
Sin embargo, si ese no es el caso y está ingresando a la base de datos nuevamente, podría considerar realizar la consulta exacta usando SQL (ActiveRecord) solicitando la fila con el valor más grande para la columna dada.