2014-09-23 56 views
0

我有一个奇怪的事件发生,其中我的dashing仪表板的列表小部件显示错误的数据。下面是从我住德胜部件Ruby Dashing:乔布斯问题(在CentOS服务器上)

错误的窗口小部件

enter image description here

期望输出

Expected Output

截图以下是对插件的代码:

守则.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

我检查并重新检查了数据,在我的其他工作代码中,我的$value变量定义为$valueX,其中X是数字。我心想:“也许变量名感到困惑,由于具有相同名称的他们”,所以我改变了我的代码

工作守则

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

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

的Et瞧!找到了!有效。不知道为什么它仍然与名称混淆,但从现在起,我的名字将是唯一的!