[英]Use a variables in ruby gem dasing.io - dashboard .erb files - sinatra
使用dashing.io制作一些非常棒的仪表板。 据我所知,使用ruby和sinatra构建了dashing,并在特定目录中使用.erb文件来制作仪表板。
使用.erb作业设置仪表板或获取信息到我的仪表板中没有问题。
我要做的是使用从我的一个仪表板.erb文件中的uri字符串传递的变量。 仪表板目录还有一个看起来像模板的layout.erb文件,这就是我想要放置的内容:
<% group = params["apps"] %>
然而这在sinatra中给我一个错误。 理想情况下,我想添加一个uri参数来更改仪表板。 所以我想在sample.com:3030/mydashboard
mydashboard上点击我的运行实例添加一个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布局,但是这里有很多不同的技术,我不确定页面的构建顺序以及我需要在哪个点或文件进行这些更改。
更新:
我以为我正在取得一些进展,我分叉了宝石并在app.rb文件中修改了这一行:
get '/:dashboard/' do
至
get '/:dashboard/group/' do
这允许我在我的仪表板中使用它来获取url参数<%= params[:group] %>
但这似乎打破了仪表板。 Gridster仍然显示小部件框但没有数据。 这似乎打破了view/[widget].html
无法解析,因为我找不到资源。
正如您在代码中使用的那样,erb文件可以访问sinatra中的params
。 所以很简单
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="<%= params[:app] %>" data-view="List" </div>
</li>
如果你打它
sample.com:3030/mydashboard?apps=group1
data-id
将被视为group1 。
如果您有冒险经历,可以配置UPDATE部分中的自定义路线。
以下链接将为您提供足够的信息
即使如此多的技术都在冲击中,你只需要查看sinatra中的路由以及它如何在划线中使用
对此的回答要简单得多,然后试图干涉这颗潇洒的宝石,并且非常接近我最初的尝试。 感谢nauoa65在fiverr!
这是我在仪表板中所需要的,这个答案在sample.erb仪表板上。
<!-- The parameter should come from http://sample.com:3030/sample?apps=mytestparam -->
<% group = params[:apps] || "A default value if parameter is not set" %>
<!-- The equal sign outputs the content of variable to html -->
<%= group %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.