我是使用ruby和Coffee脚本的新手,但我已设法在单个小部件中显示数据。
我试图从逻辑上思考如何为集合中的每个条目创建一个小部件。
有人知道如何在调用服务并获取数据集之后创建小部件。
例如:
entries: [
{
name: "bob",
age: 21
},
{
name: "alex",
age: 42
},
{
name: "fred",
age: 35
}
]
我希望能够完成其中的每一项并为每个条目创建一个小部件。这可能吗?
答案 0 :(得分:1)
这很容易。从您在jobs文件夹中的任何Ruby脚本中,您通常会使用send_event调用更新窗口小部件,如下所示:
send_event(widget.to_s, bus_info)
这将更新相应的小部件。但是,一项工作可以使这个调用尽可能多,因此可以在其运行中更新几十个小部件。您可以遍历列表并为列表中的每个项目运行send_event()。玩它,如果你遇到困难,让我知道,我可以把一个更大的例子放在一起,但希望你可以使用上面的方法让你去。
答案 1 :(得分:1)
这是我们的zendesk小部件集中的一个更完整的示例。
def update_dashing(view, value)
puts 'sending ' + view + ' : ' + value.to_s
send_event('zendesk-' + view, current: value, status: 'normal',
service: 'Zendesk')
end
def update_zendesk(views)
counts = zendesk_client.view_counts(ids: views, path: 'views/count_many')
counts.all do |ct|
next unless ct.fresh
update_dashing(ct.view_id.to_s, ct.value.to_i)
end
end
zendesk_client.view_counts()函数返回一个<view_id>:<count>
对的列表,然后我们循环。