タイトルが全てです。Play FrameworkのテンプレートエンジンTwirlは@
を特殊扱いしています。Play 3.0で確認しましたが、どのバージョンでも同じはず。
@foo
こう書くと変数foo
への参照になるわけです。
Bootstrapを使いたいときに以下のようなコードをテンプレートに埋め込みたいことがあると思います:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-..." crossorigin="anonymous">
URLの中に@
が入っているのでTwirlはコケます。Invalid '@' symbol
と言われたらこれです。
@
自体を入力したいときは@@
と書けばよいです:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-..." crossorigin="anonymous">
なんかマヌケだけどしょうがない。
@
に続いて変数を使いたいとき(例えば@windymelt
みたいにユーザ名を表示したいとき)も@@@userName
みたいに書けばいいです。