0

我发生了一个奇怪的事件,我的仪表板的列表小部件显示错误的数据。这是我的现场 Dashing 小部件的屏幕截图

错误的小部件

在此处输入图像描述

预期产出

预期产出

以下是小部件的代码:

.erb 中的代码

<li data-row="1" data-col="1" data-sizex="2" data-sizey="6">
 <div data-id="facebook_insights" data-view="List" data-unordered="true" data-title="Facebook Insights: Weekly Post Views" data-moreinfo="Updated every 10 seconds"</div>
</li>

工作中的代码 .rb

require 'mysql2'

social_count = Hash.new({ value: 0 })
time = Time.new()

date_time1 = Time.new(time.year, time.month, time.day-1)
...

SCHEDULER.every '10s' do

begin

db = Mysql.new(<HOST>,<USER>,<PASS>,<DBNAME>)

mysql1 = "SELECT <VAR> FROM <TABLE> WHERE <VAR> = '#{date_time1}' ORDER BY <VAR> DESC LIMIT 1"
...

result1 = db.query(mysql1)
...

rescue

ensure
 db.close
end

result1.each do |row|
strrow1 = row[0]
$value1 = strrow1.to_i
end
...    

social_count[0] = {label: "1:", value: $value1}
...

send_event('facebook_insights', { items: social_count.values })
end

真正令人困惑的是,这段代码适用于在 SQL 查询中使用不同数据的类似小部件。谁能帮我理解为什么?

4

1 回答 1

0

我检查并重新检查了数据,在我的其他工作代码中,我将$value变量定义为$valueXX 是数字。我心想“也许变量名由于它们具有相同的名称而变得混乱”,所以我将代码更改为

工作代码

result1.each do |row|
strrow1 = row[0]
$variable1 = strrow1.to_i
end
...    

social_count[0] = {label: "1:", value: $variable1}

瞧!尤里卡!有效。不知道为什么它仍然与名字混淆,但从现在开始,我的名字将是独一无二的!

于 2014-09-24T09:54:22.050 回答