slim-templateをStringからrenderする方法をググったら逆にわからなかった。

slim-templateをStringからrenderする方法をググったら逆にわからなかった。

説明書を読めばちゃんと書いてあったという事例です

ファイルからのrenderは

Tilt.new['template.slim'].render(scope)
Slim::Template.new('template.slim', optional_option_hash).render(scope)

ですが、Stringからのrenderは

Slim::Template.new(optional_option_hash) { source }.render(scope)

です。 (Slim テンプレートを直接使いたい場合, Tilt インターフェイスが使用できます。

よって

Slim::Template.new(pretty: false) { "section\n  p オラ\n  p オラ" }.render
"<section><p>オラ</p><p>オラ</p></section>"

でした。

横着してググる前に、説明書を上から下まで読みましょうという学びでした。