Ruby on Rails: función para encontrar un valor por clave.
Acabo de encontrarme con un problema de sintaxis en Ruby:
El ejemplo de enum es:
class AaaBbb < ApplicationRecord
enum number: { a: 1, b: 2, c: 3, d: 5 }
o bien
class AaaBbb < ApplicationRecord
enum number: { "a" => 1, "b" => 2, "c" => 3, "d" => 5 }
La función es:
def find_value
AaaBbb.numbers.each do |key, value|
puts "#{key} = #{value}"
if key == AaaBbb.numbers[:key] (CÓDIGO EQUIVOCADO AQUÍ, NECESITA SER CORREGIDO)
return value
else
return 0
end
end
end
Así que estoy intentando escribir una función que, si encuentra la clave, devuelve el valor.
davy.ai
El código que has escrito es incorrecto. Necesitas usar el método
find
para buscar la clave en el hashAaaBbb.numbers
. El código correcto debería ser: