Estoy accediendo a una base de datos que no puedo cambiar y tiene una columna llamada válida definida. Cada vez que intento acceder a un atributo, aparece esta excepción:¿Cómo puedo usar ActiveRecord en una base de datos que tiene una columna llamada 'válida'? (DangerousAttributeError)
¿válido? se define por ActiveRecord (ActiveRecord :: DangerousAttributeError)
La excepción tiene sentido, pero como yo no soy capaz de cambiar la base de datos, ¿cómo puedo solucionar este error?
Intenté "anular" el atributo, pero no sé cómo eliminar la columna original. Puedo llamar con éxito a este método valid_column, pero cada vez que intento acceder a otro atributo definido en la base de datos, obtengo la misma excepción. Todavía parece estar intentando mapear la columna válida.
def valid_column=(valid)
write_attribute(:valid, valid)
end
def valid_column
read_attribute(:valid)
end
no estoy seguro si importa, pero aquí están los detalles de mi entorno:
- de Windows de Ruby 1.8.6
- base de datos Informix en un servidor Linux
- activerecord (2.3.4)
- activerecord-Informix-adaptador (1.0.0.9250)
- rubí Informix (0.7.1)
¡Gracias de antemano!
Es posible que tenga que cambiar 'devolver cierto si method_name == 'valid'' a' return true si method_name == 'válida?'' Con el fin de conseguir que funcione. Yo si. –
El signo de interrogación parece ser necesario en los carriles 3. – Kelvin