2015-06-19 3 views
1

Это мой день 1 с рамки игры, и я использую шаблоны просмотраPlay Framework с помощью View Метки

Application.scala

package controllers 

import play.api._ 
import play.api.mvc._ 
class Application extends Controller { 

    val productMap = Map(1 -> "Keyboard", 2 -> "Mouse", 3 -> "Monitor") 

    def listProducts() = Action { 
    Ok(views.html.products(productMap.values.toSeq)) 
    } 
} 

маршруты

GET  /listProducts  controllers.Application.listProducts 

Посмотреть

@(products: Seq[String]) 
@import tags._ 
@productsIterator(products) 

View Tag

@(products: Seq[String]) 
<ul> 
    @for(product <- products) { 
     <li>@product</li> 
    } 
</ul> 

Ошибка я получаю

@6mgadekbj - Internal server error, for (GET) [/listProducts] -> 

play.sbt.PlayExceptions$CompilationException: Compilation error[**too many arguments for method apply**:()play.twirl.api.HtmlFormat.Appendable in class productsIterator] 
    at 

ответ

0

Выглядит очень хорошо для меня. Может быть, это какая-то старая компиляция из старого кода? ./activator clean.

+0

Вы правы. переименование не решило проблему. Я переименовал файл обратно в productsIterator, и он все еще работает. поэтому я предполагаю, что ваше предложение прекратить активацию и затем очистить решило проблему. –

+0

Отлично, просто чтобы успокоить вас - мне никогда не приходилось это делать, так что это просто неудачный, я уверен. Он перекомпилируется «на лету» (в следующий раз соответствующий код запускается, если быть точным). – bjfletcher

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