Ruby 如何在Dashing框架中从erb文件进行ajax调用?
我想在erb文件中动态获取变量(ruby数组)的值。我可以在erb页面中调用该值,但由于我的作业一直在运行,变量的值一直在更改,我希望它的更改反映在我的erb文件中。我希望您能享受到目前为止的冲刺体验 破折号的概念是,任何事件和大多数动态内容都将在客户端(浏览器)中处理/生成。后端知道如何获取数据,前端知道如何显示数据 您需要使客户端咖啡脚本反映发送到仪表板的更改。因此,Ruby作业应该发送一个小部件数据数组——每个元素代表一个小部件 然后在数据上循环并在小部件中初始化它 Batman.js提供了可以在数据上循环的视图绑定: 如果要基于数据隐藏小部件,可以在onData中执行此操作:Ruby 如何在Dashing框架中从erb文件进行ajax调用?,ruby,ajax,sinatra,dashing,Ruby,Ajax,Sinatra,Dashing,我想在erb文件中动态获取变量(ruby数组)的值。我可以在erb页面中调用该值,但由于我的作业一直在运行,变量的值一直在更改,我希望它的更改反映在我的erb文件中。我希望您能享受到目前为止的冲刺体验 破折号的概念是,任何事件和大多数动态内容都将在客户端(浏览器)中处理/生成。后端知道如何获取数据,前端知道如何显示数据 您需要使客户端咖啡脚本反映发送到仪表板的更改。因此,Ruby作业应该发送一个小部件数据数组——每个元素代表一个小部件 然后在数据上循环并在小部件中初始化它 Batman.js提供
// Ruby Job
send_event('event', { data: the_data, hidden: true })
// Widget CoffeeScript
onData: (data) =>
if(data.hidden)
$(@node).hide();
例如,我有两个小部件,一个在线形图小部件中显示温度,另一个使用仪表小部件显示其他数据。下次作业运行时,我只会得到一个在线形图小部件中显示温度的小部件。我想隐藏另一个仪表部件。如何实现这一点?我不确定我是否清楚你在问什么,但我添加了一个示例,演示如何隐藏小部件。基本上,您在
send_event
中发送的数据需要包含一些关于要使用的布局的元数据(本例中的布局选项是,既显示又隐藏)。
onData: (data) ->
$.forEach data, (widget) =>
@makeMyWidget widget
// Ruby Job
send_event('event', { data: the_data, hidden: true })
// Widget CoffeeScript
onData: (data) =>
if(data.hidden)
$(@node).hide();