2013-07-27 4 views
2

У меня есть контроллер с действием:Как сделать вспышку доступной по запросу?

def index = Action { implicit request => 
    Ok(views.html.index(MyModel.all) 
} 

И индексный просмотр со следующими параметрами:

@(my_models : List[MyModel])(implicit flash : Flash) 

Кажется, что мне нужно иметь оба этих implicits для того, чтобы иметь доступ к вспышке, не передавая ее явно. Вот как я думаю, что флеш неявный работает: Если шаблон вызывается без явного параметра flash, тогда компилятор будет искать Flash, помеченный как неявный в области, в которой была вызвана функция представления. Откуда эта вспышка? Запрос отмечен неявным, но это не Flash. Я знаю, что запрос имеет флеш-элемент, но я не вижу, как представление получит доступ к этому на основе моего понимания имплицитов.

ответ

3

Ваш метод index является частью некоторого класса, который расширяет Controller, поэтому все методы Controller указаны в области.

Существует неявный метод flash в Controller:

implicit def flash (implicit request: RequestHeader): Flash 

Так что если у вас есть неявное RequestHeader в объеме может быть нейтрализатор Flash неявно. `

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