У меня такой код:

sql = "select Board_Name AS 'Board Name', COUNT(Board_Name) AS 'Count' from dbo.TABLE  GROUP BY Board_Name"
result = client.execute(sql)
result.each do |row|
  binfo = [ label: row['Board Name'], value: row['Count'] ]
  send_event('ticketsbyboard', { items: binfo })
end

Я пытаюсь получить все строки, переданные в send_event, как один массив, а не только по одной строке за раз.

0
omiba 31 Мар 2013 в 22:48
Я не знаю клиента MsSQL, но вы пробовали result.to_a?
 – 
Neil Slater
31 Мар 2013 в 22:54
@ neil-slater Да, я пробовал это изначально, однако мне нужно, чтобы в массиве был тег «label», который я установил в send_event.
 – 
omiba
31 Мар 2013 в 22:57

1 ответ

Лучший ответ

Попробуйте карту:

binfo = result.map do |row|
  { label: row['Board Name'], value: row['Count'] }
end
send_event('ticketsbyboard', { items: binfo })

Если ваш объект result не отвечает напрямую на map, просто используйте result.to_a.map

0
Neil Slater 31 Мар 2013 в 23:00