sql >> Base de Datos >  >> RDS >> PostgreSQL

Rails ignora las constantes en la declaración SQL SELECT

¿Qué te hace pensar que tu constant no hay? Del buen manual :

Énfasis mío. Así que si dices esto:

a = TableName.find_by_sql("SELECT id, name, 1 AS constant FROM table_name")

entonces puedes decir a.first.constant y recuperar algo. Tenga en cuenta que el habitual inspect la salida que probablemente esté viendo en la consola no incluirá constant como inspect de AR solo conoce las columnas de la tabla; verá cosas como esta en la consola:

[#<TableName id: 6, name: "Pancakes">, ...]

pero los objetos responderán a constant llamadas con '1' s; sí, probablemente serán cadenas, tendrá que resolver las conversiones de tipo usted mismo.