仕事のプロジェクトで Cheetah を 0.9 から 2.4.4 にアップグレードしようとしています。テンプレート内で特定の変数を作成すると、奇妙なエラーが発生します。以下に例を示します。
#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
defaults=[{"username": $session.get("username")}, $form])
これにより、コンパイル時に次のエラーが発生します。
NotFound: 「get」の検索中に「get」が見つかりません
次のようにリファクタリングすると:
#set username = $session.get("username")
#set formUtil = $iLib.aquariumFactory("widget.FormUtil",
defaults=[{"username": $username}, $form])
エラーは発生しません。他の場所でも同様のエラーが発生します (「X の検索中に X が見つかりません」) が、一貫した方法で対処できるように、Cheetah で何が変更されたのか明確ではありません。