Я переношу приложение Scala Play на 2.5 и в настоящее время переношу свои компоненты на инъекцию зависимости. Осталось одно место, где я не понимаю, как это сделать. У меня есть PathBindable неявного преобразования, определенное в объекте компаньона:Play Framework PathBindable с впрыском зависимостей
object Task {
implicit def pathBindable(implicit stringBinder: PathBindable[String]) =
new PathBindable[Task] {
...
}
}
Реализация PathBindable должна искать объект из хранилища, но я не нашел способ зависимостей впрыснуть репозиторий здесь. В качестве обходного пути я использую теперь устаревший объект игры:
val tasks = Play.application(Play.current).injector.instanceOf[TasksRepository]
Любые идеи, как решить это правильно?
Хм, проблема в том, что имплицитные должны быть доступны для маршрутов, чтобы я мог использовать их там: https://www.playframework.com/documentation/2.5.x/api/scala/index.html# play.api.mvc.PathBindable –