我使用middleman开发网站,并希望使用.yml文件将标记与内容分开。所以这是一个问题:
有没有办法根据某个css类更改ruby数据路径?
例如,我想只在父标记中有css类时才输出某些内容:
像这样的东西
如果我只使用类“page”,则输出必须来自sliderA-section,来自slider.yml
<div class="page">
<div class="slider">
<span class="content">
<%= data.slider.sliderA.content %>
</span>
</div>
</div>
但是如果我将“B”类添加到“page”容器中,则输出必须来自同一个yml文件,但必须来自其中的SliderB部分。
我希望通过使用变量左右使数据路径中的这个(DYN)部分动态...这取决于css类
<%= data.slider.DYN.content %>
这样的事情可能吗?
答案 0 :(得分:1)
您应该能够动态访问您的数据,如下所示:
<% DYN = sliderA %>
<%= data.slider[DYN].content %>
PS:你知道page_classes
助手(http://middlemanapp.com/helpers/#toc_8)吗?也许它也可以帮助你。
答案 1 :(得分:0)
您可以尝试以下方法:
</%= eval "data.slider.#{dyn}.content" %>