【发布时间】:2016-10-09 07:51:24
【问题描述】:
与dashing.io 合作制作一些很棒的仪表板。我知道 dashing 是使用 ruby 和 sinatra 构建的,并使用特定目录中的 .erb 文件来制作仪表板。
我可以通过 .erb 作业设置 dashing 或将信息输入我的仪表板。
我要做的是使用从我的仪表板 .erb 文件之一中的 uri 字符串传递的变量。仪表板目录也有一个 layout.erb 文件,看起来像模板,这就是我要放置的内容:
<% group = params["apps"] %>
但是,这给了我在 sinatra 中的错误。理想情况下,我想添加一个 uri 参数来更改仪表板。所以我想在sample.com:3030/mydashboard 上运行我的dashing 实例添加一个uri 参数sample.com:3030/mydashboard?apps=group1
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="<% group %>" data-view="List" </div>
</li>
并使用它来动态创建我的 erb 文件:
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="group1" data-view="List" </div>
</li>
我开始查看 sinatras 文档上的 erb 布局,但由于这里有很多不同的技术融合在一起,我不确定页面的构建顺序以及我需要在什么时间点或文件进行这些更改。
更新:
我以为我取得了一些进展,我分叉了 gem 并在 app.rb 文件中更改了这一行:
get '/:dashboard/' do
到
get '/:dashboard/group/' do
这允许我在仪表板中使用它来获取 url 参数 <%= params[:group] %> 但这似乎破坏了仪表板。 Gridster 仍然显示小部件框,但没有数据。这似乎破坏了view/[widget].html 的可解析性,因为我找不到资源。
【问题讨论】: