Tengo un método que necesita recorrer un hash y verificar si cada clave existe en una tabla de modelos, de lo contrario eliminará la clave/valor.¿Cómo verificar si un modelo tiene una determinada columna/atributo?
por ejemplo
number_hash = { :one => "one", :two => "two" }
y la tabla de números sólo tiene una: una columna de modo: dos se eliminarán.
¿Cómo puedo verificar si un modelo tiene un atributo o no?
Para puntos de bonificación, use 'Hash # select':' number_hash.select {| key, value | Number.column_names.include? key} ' – hgmnz
En Rails 3.2+, use' number.has_attribute? 'que acepte un Símbolo o una Cadena –
Creo que si un objeto delega un método a otro objeto, este método erróneamente sugerirá que la columna existe. Estaba revisando mis modelos por los que tenían un 'usuario', pero en su lugar tuve que buscar' user_id' ya que algunos modelos delegaron al usuario. – MattyB