在 Slim 的 HTML 属性中嵌入 Ruby 代码



我正在尝试使用可爱的 Slim 模板语言生成一系列具有随机完成宽度的进度条。

这是我想生成的代码:

.progress-info
  .progress
    span.progress-bar.progress-bar-success data-toggle='tooltip' style="width: 20%;"

但是我想随机生成样式的宽度,如下所示:

.progress-info
  .progress
    span.progress-bar.progress-bar-success data-toggle='tooltip' style="width: #{rand(50)+'%'};"

当然这是行不通的,这只是为了给出一个想法。

你的问题出在rand(50)+'%'上——你试图添加一个字符串('%')到一个 Fixnum(rand的结果)。

您可以通过调用to_s来修复它:

span.progress-bar.progress-bar-success data-toggle='tooltip' style="width: #{rand(50).to_s + '%'};"

或者更简单地说,只需在插值中包含对rand的调用:

span.progress-bar.progress-bar-success data-toggle='tooltip' style="width: #{rand(50)}%;"

最新更新