2011-07-03 9 views
8

私のようなScalaのテンプレートにコードを持っている:プレイフレームワーク内のスカラテンプレートでローカル変数を宣言してアクセスする方法は?

@for(col <- List.range(0,12)) { 
    <td> 
     @if(col % 2 == 0) { 
      @{ val letter = someMap(col) } 
      <div class="[email protected](letter)@(letter)s"></div> 
     } 
    </td> 
} 

しかし、私はエラーがコンパイル取得:値の手紙見つかりません。 変数を宣言し、後で上記のようなマークアップでアクセスできるようにするにはどうすればよいですか?

+0

間違いをコピーしていますか?宣言に 'val'ではなく' va'と書かれています... – Dirk

+0

[Play2 scalaテンプレートで変数を宣言する]の可能な複製](http://stackoverflow.com/questions/12031146/declare-variable-in-a-play2-スカラーテンプレート) – pathikrit

答えて

7

実際、私はPlayFrameworkを試したことがありません。しかし、もし私がそれがだと思うなら、あなたが実際に手紙を求めようとすると、それは既に範囲外です。次のように大括弧を並べ替えるとどうなりますか?

@for(col <- List.range(0,12)) { 
    <td> 
    @if(col % 2 == 0) { 
     @{val letter = someMap(col) 
     <div class="[email protected](letter)@(letter)s"></div> 
     } 
    } 
    </td> 
}