【发布时间】:2014-03-10 14:33:12
【问题描述】:
我的 Middleman 项目中有一个 JSON 数据文件,其中包含一个对象,其中包含有关我们正在为新项目构建原型的网站的 5 个部分的信息。这是该文件的一部分:
"industries": {
"Insulation": {
"url": "insulation",
"color": "#B48126"
},
"Roofing": {
"url": "roofing",
"color": "#52bd4a"
}, ...
我想根据当前页面从该对象中提取属性。
例如,如果我在“绝缘”部分的页面上,我想从该文件中获取用于绝缘的突出显示颜色并将其用作原型的一部分,以便我们可以为客户尝试不同的颜色。
在每个 .erb 模板的顶部,我可以很容易地放置这个页面数据变量来表示行业:
;;;
"product": "Commerical Insulation",
"division": "insulation"
;;;
然后在模板的下方,使用如下内容:
<img class="img-responsive center-block"
src="<%= lorem.image('1140x100',
:text => current_page.data.product + ' image',
:color => data.lists.industries.{current_page.data.division}.color) %>" />
我知道{current_page.data.division} 不正确(引发语法错误,意外 tLBRACE)。
我是 Ruby 和 ERB 的新手,所以如果有更好的方法来解决这个问题,我愿意接受建议。
【问题讨论】: