繁体   English   中英

在ruby gem dasing.io中使用变量 - 仪表板.erb文件 - sinatra

[英]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中使用路由

即使如此多的技术都在冲击中,你只需要查看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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM