我发生了一个奇怪的事件,我的仪表板的列表小部件显示错误的数据。这是我的实时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查询中使用不同数据的类似小部件。谁能帮我理解为什么?
答案 0 :(得分:0)
我检查并重新检查了数据,在我的其他工作代码中,我将$value
变量定义为$valueX
,其中X为数字。我心里想着&#34;也许变量名称由于它们具有相同的名称而感到困惑&#34;所以我将我的代码更改为
工作代码
result1.each do |row|
strrow1 = row[0]
$variable1 = strrow1.to_i
end
...
social_count[0] = {label: "1:", value: $variable1}
Et Voila!找到了!有效。不知道为什么它仍然与名字混淆,但从现在开始,我的名字将是独一无二的!