2013-03-13 31 views
2

将数据传递到视图中,通用的“工作”被设置为这样:短跑仪表板框架传递标签和值的列表部件

SCHEDULER.every '1m', :first_in => 0 do |job| 
    send_event('widget_id', { }) 
end 

在视图中,它被处理为这样:

<li data-foreach-item="items"> 
    <span class="label" data-bind="item.label"></span> 
    <span class="value" data-bind="item.value"></span> 
</li> 

我不知道如何传递一个散列(或更广泛地说,集合),可以在该标签,值格式中读取。如果有人能指引我正确的方向,我肯定会感激。我找不到任何有用的文档。

回答

0

声明:我没有使用过Dashing(虽然看起来很有趣)。

从文档:

...
send_event( '因果报应',{电流:兰特(1000)})
...

此作业将每分钟运行一次,并会发送随机数到ALL 将数据id设置为“业绩”的小部件。

您发送邮件使用下面的方法数据:

send_event(WIDGET_ID,json_formatted_data)

因此,对于您的收藏,您需要哈希的数组,每个哈希有钥匙labelvalue(如实例方法调用coffeescript中的对象(在Ruby中说)实际上只是accessors on a hash)。

一旦拥有该集合,将其转换为JSON,并将其粘贴到具有访问器items的对象中,例如,

require 'json' 
items = [{label: "l1", value: "v1"},{label: "l2", value: "v2"},{label: "l3", value: "v3"}] 
json_formatted_items = items.to_json 
# => "[{\"label\":\"l1\",\"value\":\"v1\"},{\"label\":\"l2\",\"value\":\"v2\"},{\"label\":\"l3\",\"value\":\"v3\"}]" 

SCHEDULER.every '1m', :first_in => 0 do |job| 
    send_event('widget_id', {items: json_formatted_items }) 
end 

我不知道这是否可行,但这是我认为会起作用的。希望能帮助到你。

4

的文档是相当欺骗但是,你在一个阵列通过一个哈希

这里是我做了使用列表

buzz = [{:label=>"Count", :value=>10}, { :label=>"Sort", :value=>30}] 
send_event('buzzwords', { items: buzz }) 

上述工作,但如果我做到以下几点:

buzz = [{:label=>"Count", :value=>10}, { :label=>"Sort", :value=>30}] 
items = buzz.to_json 
send_event('buzzwords', { items: items}) 

这并不工作,但文件说,send_event(widget_id, json_formatted_data)item是JSON格式但也不无t工作,而是传入一个哈希阵列

+0

这个答案是最有帮助的。我花了一些时间试图弄清楚为什么我的完美格式化的json实际上并没有将它传送到我的仪表板......原来是一个*散列*。做出了改变,**噗**,它神奇地工作。 – snowking16 2014-02-05 19:19:00

+0

我在这个相同的泡菜,你偶然有样品git我可以查看?我有一个lib/.rb文件,我希望在作业中调用我的哈希。但是,没有被命名为相同的文化(标签,价值)。相反,时间戳,顶部,底部,平均值和建立一个多线图 – Spartacus38 2016-04-30 22:35:02