Не видя ошибок возврата, это сложно отладить, но оно должно работать.
test.slim
doctype html
html
head
title Slim Examples
meta name="keywords" content="template language"
javascript:
alert('Slim supports embedded javascript!')
body
h1 Markup examples
#content
p This example shows you how a basic Slim file looks.
- if 1 < 2
p 1 is less than 2
- else
p No items found. Please add some inventory.
Thank you!
div id="footer"
| Copyright © #{`Time`} #{'me'}
Запустить это из командной строки без ошибок
slimrb test.slim
#=>
<!DOCTYPE html><html><head><title>Slim Examples</title><meta
content="template language" name="keywords" /><script>alert('Slim
supports embedded javascript!')</script></head><body><h1>Markup
examples</h1><div id="content"><p>This example shows you how a basic
Slim file looks.</p></div><p>1 is less than 2 </p><div
id="footer">Copyright © me</div></body></html>
ОБНОВЛЕНИЕ
Исходя из вашего комментария выше:
undefined method `>' for nil:NilClass
означает, что все, что вызывается в левой части >
в ruby, возвращает ноль.Так что ваша ошибка просто так.Так что в вашем примере вы можете исправить это с помощью интерполяции строк.
- if "#{match_percent.to_i}" > 50
span.classOne
| #{match_percent} %
- else
span.classTwo
| #{match_percent} %
Таким образом, если match_percent
равно нулю, ваш оператор if все еще работает.