【问题标题】:Dashing Dashboard Framework Passing Label & Value to a List WidgetDashing Dashboard Framework 将标签和值传递给列表小部件
【发布时间】:2013-03-01 13:14:57
【问题描述】:

为了将数据传递到视图中,通用的“作业”设置如下:

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>

我不确定如何传入能够以该标签、值格式读取的哈希(或更广泛地说,集合)。如果有人能指出我正确的方向,我肯定会很感激。我找不到任何有用的文档。

【问题讨论】:

    标签: ruby sinatra dashing


    【解决方案1】:

    虽然文档非常具有欺骗性,但您传入一个带有 Hash 的数组

    这是我使用列表所做的

    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 格式的,但这不起作用,而是传入一个带有哈希的数组

    【讨论】:

    • 这个答案是最有帮助的。我花了一些时间试图弄清楚为什么我的完美格式的 json 并没有真正进入我的仪表板......原来是一个 哈希数组。做出改变,,它神奇地起作用了。
    • 我在同一个泡菜中,你有没有我可以查看的示例 git?我有一个 lib/.rb 文件,其中包含我希望在作业中调用的哈希值。但是,不在同一个名称中命名(标签,值)。而是时间戳,顶部,底部,带有值的平均值,就像构建多折线图一样
    【解决方案2】:

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

    来自文档:


    发送事件('业力',{当前:兰德(1000)})

    此作业将每分钟运行一次,并将向 ALL 发送一个随机数 将 data-id 设置为 'karma' 的小部件。

    您使用以下方法发送数据:

    send_event(widget_id, json_formatted_data)

    因此,对于您的集合,您需要一个哈希数组,每个哈希都有键 labelvalue(因为咖啡脚本中对象的实例方法调用(在 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
    

    我不知道这是否可行,但我认为这是可行的。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      相关资源
      最近更新 更多