GoogleVisualr gem,未定义方法to_js

时间:2013-01-14 23:57:09

标签: ruby-on-rails-3 google-visualization

我使用宝石“google_visualr”来绘制一些直方图。我拿了一个example code并试图运行它,但我收到以下消息:nil的未定义方法`to_js':NilClass

我的控制员:

  def bar_chart

data_table = GoogleVisualr::DataTable.new
data_table.new_column('string', 'Year')
data_table.new_column('number', 'Sales')
data_table.new_column('number', 'Expenses')
data_table.add_rows(4)
data_table.set_cell(0, 0, '2004')
data_table.set_cell(0, 1, 1000)
data_table.set_cell(0, 2, 400)
data_table.set_cell(1, 0, '2005')
data_table.set_cell(1, 1, 1170)
data_table.set_cell(1, 2, 460)
data_table.set_cell(2, 0, '2006')
data_table.set_cell(2, 1, 660)
data_table.set_cell(2, 2, 1120)
data_table.set_cell(3, 0, '2007')
data_table.set_cell(3, 1, 1030)
data_table.set_cell(3, 2, 540) 

opts = { :width => 400, :height => 240, :title => 'Company Performance', vAxis: {title: 'Year', titleTextStyle: {color: 'red'}} }

@chart = GoogleVisualr::Interactive::BarChart.new(data_table, opts) 

end

我的index.html.erb:

<script src='http://www.google.com/jsapi'></script> 
  <div id='chart'></div><%= render_chart @chart, 'chart' %>

我的错误在哪里? 提前致谢

1 个答案:

答案 0 :(得分:0)

您是否正在点击http:// localhost:3000 / [controller_name] / bar_chart?

我相信你不是,而你可能正在击中控制器#show action, 这就是为什么视图找不到@chart(nil class)。