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

时间:2015-01-05 16:20:01

标签: html ruby-on-rails ruby slim-lang

我正在尝试使用可爱的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)+'%'};"

当然这不起作用,只是提出一个想法。

1 个答案:

答案 0 :(得分:1)

您的问题出在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)}%;"