我正在使用SLIM和Rails,并希望优化我的一个观点。
我有三个警报SCSS类:
alert-notice
alert-success
alert-danger
值:alert-type作为字符串传递给视图,具有以下可能性:
notice
success
danger
我可以编写一个复杂的代码片段,如下所示:
- if alert-type == 'notice'
.alert.alert-notice[role="alert"]
button.close[type="button" data-dismiss="alert" aria-hidden="true"]
elsif alert-type == 'success'
.alert.alert-success[role="alert"]
button.close[type="button" data-dismiss="alert" aria-hidden="true"]
else
.alert.alert-danger[role="alert"]
button.close[type="button" data-dismiss="alert" aria-hidden="true"]
但这似乎效率很低。有任何想法吗?
像这样的东西,会起作用:
| <div class="alert alert-
= name.to_s == 'notice' ? 'success' : 'danger'
| " role="alert">
button.close[type="button" data-dismiss="alert" aria-hidden="true"]
| ×
但是这段代码有点难看,并且想知道我是否可以使用简化的SLIM语法:.alert.alert ......
我会事先道歉,我不会使用苗条。但是,基于快速搜索,它似乎就像是
div role = "alert" class = "alert alert-#{alert-type}"
button.close[type="button" data-dismiss="alert" aria-hidden="true"]
看起来你应该能做到:
.alert[role = "alert" class = "alert-#{alert-type}"]
button.close[type="button" data-dismiss="alert" aria-hidden="true"]