Как отобразить два значения двух таблиц на диаграмме (ruby on rails)

У меня есть столбец vote_option, принадлежащий таблице Vote и title в таблице VoteOption, и теперь я хочу показать vote_option и title в паре на круговой диаграмме (chartkick). Так что именно мне делать? Я имею в виду, что мне делать с этим кодом: <%= pie_chart Goal.group(:name).count %> показывать vote_option и title как значение и ключ хеша?


person DinhNgocHien    schedule 28.03.2015    source источник
comment
Вопросы, требующие помощи в отладке (почему этот код не работает?), должны включать желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для их воспроизведения, в самом вопросе. Вопросы без четкой формулировки проблемы бесполезны для других читателей. См. раздел Как создать минимальный, полный и проверяемый пример.   -  person Jim Garrison    schedule 28.03.2015


Ответы (1)


Вы пытались создать таблицу, которая ссылается на данные в двух таблицах? Например, вы можете объединить столбцы (ссылку по идентификатору) из двух таблиц в модельную таблицу с именем Vote_title.

Затем в вашем ruby-коде вы можете сделать что-то вроде следующего:
В вашем контроллере (при условии, что он находится на вашей индексной странице):

def index
   @vote_titles = Vote_title.all
end

На главной странице:

<%= pie_chart @vote_titles.group(:title).sum('vote_option') %>

В этом примере круговая диаграмма будет отображать каждый заголовок как часть/процентное значение 'vote_option' относительно другого заголовка voice_options. В легенде сбоку будут перечислены все названия и их цвета. Поменяйте заголовок и voice_option в коде erb на странице индекса, если вы хотите обратное.

person jtlindsey    schedule 11.05.2015