ルートによって異なる動作をするタグを作成しようとしていますが、@{ ... }
ブロック内で html をレンダリングしようとすると、変数を正しく挿入できないようです。
@(route: String, on_image: String, off_image: String, alt_text: String)
@{
val Pattern = ("(" + route + ".*)").r
val path = request().path()
path match {
case Pattern(foo) => {
if(path != route && route == "/") {
<script type="text/javascript">
alert("{route}");
</script>
} else {
<script type="text/javascript">
alert("{route}");
</script>
}
}
case _ => {
<script type="text/javascript">
alert("{route}");
</script>
}
}
}
ページをロードすると、Firebug コンソールに構文エラーが表示され、script タグの内容が次のように評価されたことが明らかになりました。
alert("/accounts");
今、ブロック全体@Html{ ... }
を and@Html( ... )
と で囲んでみました。@Html({ ... })
私もalert(@Html("{bar}"));
他の同様のことを試しましたが、すべてがさまざまなエラーを引き起こします。
これを行う正しい方法は何ですか?
編集
簡単にするために 1 つの変数のみを使用しようとすること、およびその変数がどこから来たのかを示すように更新されました。