slimで初めて変数を使ったのでメモ。
Railsでhtml.erbからhtml.slimへの書き換えを行っていました。
そこでこんな1文がありました。
書き換えに苦戦したのは、class名の部分。
class="alert alert-<%= key %>"
※Bootstrapを使っています。
ここでクラス名を2つ定義しています。
alertとalert-<%= key %>です。後者は、ハイフン以下が変数になっています。
erbでは<%= %>として変数の中身を出力します。
要は、2つ目のクラスは動的に指定したいわけですね。
これをSlim的にはどう書くのかなと。
ちなみに、<%= %>はslimでは=(イコール)になります。
なのでこうかなと。
ローカルで確認すると…
エラーでした。
で、試行錯誤した結果こちらに。
変数展開は、#{key}とするようです。
ただ、これだとクラス定義が分散していてなんか気持ち悪い…。
せっかくslimを使っているんだし、もっと上手い方法がありそうな気がするのですが…。
ですが、今回は時間切れになってしまったのでこれにて。
参考: