私は現在、電子メールを送信できるようにする必要がある Web プロジェクトに取り組んでいます。テンプレート エンジンに DotLiquid を使用し始めましたが、特定の問題が見つかりました。最大の問題は、enum を処理できないように見えることです。
という感じで型を「Safe」として登録しようとしたのTemplate.RegisterSafeType(typeof(Gender), new string[] { "Male", "Female" });
ですが、うまくいかないようです。せいぜい、スローされる例外はありませんが、期待される結果は空です。
<ul>
{% for f in Model.Friends %}
{% if f.Gender == Male %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
<ul>
{% for f in Model.Friends %}
{% if f.Gender == Gender.Male %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
<ul>
{% for f in Model.Friends %}
{% if f.Gender == 0 %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
上記のどれも何も返すことができませんでした。列挙型の文字列または int 表現に満足していますが、今のところ何もありません。この問題の解決策を見つけた人はいますか?
後で混乱する可能性があるため、Drop オブジェクトで列挙型を自分で「変換」することは避けたいと思います。
ありがとうございました。