2015-01-08 4 views
0
<table class="table table-hover"> 
     <thead> 
     <th>#</th> 
     <th>Poster</th> 
     <th>Post</th> 
     <th>Bearbeiten</th> 
     </thead> 
     <tbody> 
     @for((result, index) <- posts.zipWithIndex) { 
      @if(@result.getPoster() == @userid){ 
      <tr> 
       <td>@{index + 1}</td> 
       <td>@result.getPoster_name()</td> 
       <td>@result.getPost()</td> 
       <td><a href = "/post/@result.getId()">Bearbeiten</a></td> 
      </tr> 
      }else{ 
      <tr> 
       <td>@{index + 1}</td> 
       <td>@result.getPoster_name()</td> 
       <td>@result.getPost()</td> 
       <td>nicht dein Post</td> 
      </tr> 
      } 
     } 
     </tbody> 
    </table> 

Когда я пытаюсь скомпилировать это, я получаю ошибку незаконного начала простого выражения в строке @ {index + 1} в if-statment. Может кто-то помочь мне, пожалуйста, я знаю, почему это не работает.Незаконный старт простого выражения и не знает почему?

ответ

2

При запуске выражения или блока вы используете только @. Таким образом, в этой строке

@if(@result.getPoster() == @userid) 

используют это вместо

@if(result.getPoster == userid) 
+0

Благодарим за быстрый ответ – chris599104

1

шаблон двигатель автоматически определяет конец вашего блока кода. если вы уже отметили свой код с помощью @, вам не нужно повторять его до конца этого выражения. так что это будет делать работу:

@if(result.getPoster == userid) 

вы получаете ошибку в @{index + 1} линии, но проблема на самом деле в @if(@result.getPoster() == @userid) линии.

У меня также есть 2 улучшений для вас код здесь, если ваш userid это долго, не сравнить его с == знаком, он работает только с длинномерных ниже 127.

и вместо того, чтобы писать href = "/post/@result.getId()" вы можете используйте свои маршруты. (динамическая ссылка)

Смежные вопросы