chefのtemplateファイルへif文を入れる

chefのtemplateファイルにif文を入れる

3月17日のエントリでrecipeファイルからtemplateファイルへ変数を渡す話をかきました。
どうやらtemplateファイルにもif文がいれられる模様。レシピ側でif文をかいて、それに対応する変数を渡すか、template側で既知の変数に対応するif文を入れるかの違いですが、たぶん後者(templateにif文を入れる)方がスッキリかけるような感じがします。

実際に利用したのはapacheの設定ファイルの展開。
編集用と公開用でほとんどいっしょなんだけど、編集用の設定ファイルには一行ディレクティブを追加必要があります。
@suffixという変数に編集用だと"edit"という文字列が入っています。その場合に "Hoge fuga"というディレクティブをいれる。

こんな感じ。

<%= if @suffix == "edit" then "Hoge fuga" else "" end %>

もしかして、rubyの構文ならなんでもいれられるのかもしれない。
こんどやってみよう。