В моем конкретном случае у меня есть меню, которое отображается на всех страницах. Содержимое меню загружается из базы данных с использованием пятна и неявно передается в представление. Все это выглядит следующим образом:Как обрабатывать неявно прошедшие фьючерсы в представлениях воспроизведения
Контроллер
class Application @Inject()(
implicit val menuContext: MenuContext
) extends Controller {
def index = Action.async {
val content: Future[Content] = getContent
content.map(c => Ok(views.html.index(c)))
}
}
MenuContext
class MenuContext {
val models: Future[List[SomeModel]] = getModelsFromDB
}
Посмотреть
@(content: Content)(implicit menuContext: MenuContext)
...
@menuContext.models // how to access my actual model and not the Future?
...
Как мне получить доступ к List[SomeModel]
на мой взгляд? Есть ли эквивалент Action.async
в игре для передачи неявных параметров? Или, может быть, даже лучшее решение для всего, что требуется (почти) для всех просмотров?
исполнение Будущее, безусловно, задача бэк- конец, а не шаблон. Вы должны передать фактическую модель в представление. –
Извините мой вопрос noobish, но как мне это сделать неблокирующимся способом? – Roman