Форматирование результатов из SQL в Ruby On Rails - PullRequest
0 голосов
/ 25 марта 2012

У меня есть собственный запрос SQL, который я запускаю с этой строкой:

@avg_score = "#{ActiveRecord::Base.connection.execute(@avg_score_SQL)}"

при запуске @avg_score имеет значение:

[{"score"=>8, 0=>8}]

результаты верны, но он печатается так: - / Я просто хочу, чтобы он распечатал "8"

Как мне получить это, чтобы просто напечатать значение счета?

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

[{"score"=>8, 0=>8}] - это просто массив с одним элементом, и этот элемент является хешем.Таким образом, вы можете получить доступ к счету, как это:

@avg_score[0]['score']
0 голосов
/ 25 марта 2012

если вы используете метод execute, вы должны освободить объект Result после того, как вы его используете.Также ваше заявление может быть использовано без кавычек.если у вас всегда есть 1 строка результата, вам лучше использовать selecy_one

@avg_score = ActiveRecord::Base.connection.select_one(@avg_score_SQL)['score']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...