Когда я использую псевдоним столбца в запросе с find_by_sql, он не отображается в объектах результата, даже когда я добавляю attr_accessor для свойства.
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
Я бы ожидал, что смогу сделать это:
countries = Country.sorted_by_average_score.first.average_score
... но он всегда возвращает ноль, даже если значение определенно возвращается из запроса.
Может кто-нибудь объяснить мне, почему атрибут не установлен в объекте?