ログイン可否でレイアウトを分けたいが
if文の分岐では500エラーが出てしまう。
三項演算子を使うと上手くいった。
間違ったコード
sample.twig
{% if abc() %}
{% extends 'twig/test1.twig' %}
{% else %}
{% extends 'twig/test2.twig' %}
{% endif %}
(後略)
500エラー文
Twig_Error_Syntax: "An exception has been thrown during the compilation of a template ("Node "1" does not exist for Node "Twig_Node".") in "今いるURL"."[Previous] LogicException: "Node "1" does not exist for Node "Twig_Node"."
上手くいったコード
qiita.rb
{% extends abc() ? " twig/test1.twig " : " twig/test2.twig " %}
正常に表示される。
以下のURLを参考にif文ではなく三項演算子を使うとうまくいった
参考URL
https://github.com/symfony-japan/twig-docs-ja/blob/master/recipes.rst