【发布时间】:2017-05-16 14:25:28
【问题描述】:
我对 ruby 非常陌生,我正在尝试设置一个测试仪表板。我看到 mysql 给出了 sql 查询的总数。但是它没有被填充到小部件上。有人可以帮忙吗?
# mysql.rb (jobs file)
require "mysql2"
SCHEDULER.every '5s' do
client = Mysql2::Client.new(:host => "192.168.1.3",:username => "testuser",:database => 'testdb')
results=client.query("SELECT count(*) as total from testdb.share")
puts results
results.each do |row|
puts row['total']
send_event('totals', { value: total })
end
end
仪表板文件:
# sample.erb
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="totals" data-view="Number" data-title="Number of Shares" data-moreinfo="Shares" data-prefix="$"></div>
</li>
....
Dashing 控制台如下图所示
#<Mysql2::Result:0x007f98b4b85d18>
3 --->>>> This is the count of my mysql query
调度程序捕获异常:
> undefined local variable or method `total' for main:Object
> /home/user/.rvm/sweet_dashboard_project/jobs/mysql.rb:20:in `block (2
> levels) in <top (required)>'
> /home/user/.rvm/sweet_dashboard_project/jobs/mysql.rb:11:in `each'
> /home/user/.rvm/sweet_dashboard_project/jobs/mysql.rb:11:in `block in
> <top (required)>'
> /home/user/.rvm/gems/ruby-2.2.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in
> `call'
> /home/user/.rvm/gems/ruby-2.2.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in
> `trigger_block'
> /home/user/.rvm/gems/ruby-2.2.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:in
> `block in trigger'
> /home/user/.rvm/gems/ruby-2.2.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in
> `call'
> /home/user/.rvm/gems/ruby-2.2.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in
> `block in trigger_job'
【问题讨论】: