Cuando uso un alias de columna en una consulta con find_by_sql, no parece estar establecido en los objetos de resultados, incluso cuando agrego un attr_accessor para la propiedad.Rieles: establecimiento del atributo de alias de columna con find_by_sql
class Country < ActiveRecord::Base
attr_accessor :average_score
def self.sorted_by_average_score
sql = "SELECT country_id, AVG(score) AS average_score, countries.name " +
"FROM players " +
"INNER JOIN countries ON players.country_id = countries.id " +
"GROUP BY country_id "
Country.find_by_sql(sql)
end
end
Yo esperaría que ser capaz de hacer esto:
countries = Country.sorted_by_average_score.first.average_score
... pero siempre devuelve nil, a pesar de que un valor es, sin duda regresó de la consulta.
¿Alguien me puede explicar por qué el atributo no está establecido en el objeto?
Gracias ScottD.Tengo el mismo problema y esto lo resuelve. – Tam