как использовать google_chart gem в рельсах - PullRequest
2 голосов
/ 22 января 2012

Я пытаюсь представить данные с помощью гема google_charts , но мне кажется, это не работает. Я скопировал пример кода в rdoc и попробовал его, я получаю сообщение об ошибке undefined method pie_chart for #<#<Class:0xa8241b4>:0xa828a0c>

  <% pie_chart( [ [:eggs, 3], [:bacon, 1] ], { :height => 300, :is3D => true }, { :id => "breakfastChart" } ) do |c| -%>
    <% c.title "breakfast" %>

    <% c.label "ingredient", :first %>
    <% c.value "amount", :last %>
  <% end -%>

но если я попробую это так, я получу одно и то же сообщение об ошибке.

  <% Googlecharts.pie_chart( [ [:eggs, 3], [:bacon, 1] ], { :height => 300, :is3D => true }, { :id => "breakfastChart" } ) do |c| -%>
    <% c.title "breakfast" %>

    <% c.label "ingredient", :first %>
    <% c.value "amount", :last %>
  <% end -%>

Я признаю, что впервые использую этот драгоценный камень, потому что он самый последний из нихвсе, что я обычно использую гем googlecharts , и он отлично работает для меня, но я не хочу его использовать, потому что он использует URL-адреса для диаграммы и не часто поддерживается.Итак, теперь я хочу представить следующие данные в столбчатой ​​диаграмме с помощью следующего примера кода в моей модели песни

  # Return the percentage of responses that are yes.  Output is a whole integer.
  def percentage_yes
    return 0 if yes_count == 0

    ((yes_count.to_f / replies_count) * 100).to_i
  end

  # Return the percentage of responses that are no.  Output is a whole integer.
  def percentage_no
    return 0 if no_count == 0

    100 - percentage_yes
  end

  # Return a chart showing the yes/no breakdown of responses
  def chart_responses
    chart = GoogleChart.pie_400x150(["#{percentage_yes}% yes", percentage_yes], ["#{percentage_no}% no", percentage_no])
    chart.colors = ['BCDEA5', 'E6F9BC']
    return chart
  end

Как я могу использовать гем google_charts для представления chart_responses в столбчатой ​​диаграмме, используя этуконкретный драгоценный камень.

...