如何将Seq [(model,Seq [model2])]传递给Scala Play framework 2.5视图?

时间:2016-05-24 09:39:22

标签: scala playframework slick

尝试将序列传递给控制器​​中的scala视图。视图标题如下所示:

Cannot write an instance of Seq[(models.dModel, Seq[models.dModelCondition])] => play.twirl.api.HtmlFormat.Appendable to HTTP response. Try to define a Writeable[Seq[(models.dModel, Seq[models.dModelCondition])] => play.twirl.api.HtmlFormat.Appendable]

编译错误:

def index = silhouette.SecuredAction.async { implicit request =>
dModelDao.all().map {
  models: Seq[dModel] => {
    Future.sequence(models.map(plantModel => {
      for {
        conditions <- plantDiseaseConditionDao.findByModelId(plantModel.id)
      } yield (plantModel, conditions)
    }))
  }
}.map(_ => Ok(views.html.plant_models(_)))

编辑:添加了控制器操作代码

ctrl + drag to that new View controller

}

任何想法如何定义这样的Writable以及它应该坚持的地方。解决方法?

2 个答案:

答案 0 :(得分:1)

在地图中使用其他字符而不是_。它对我有用。

.map(s => Ok(views.html.plant_models(s)))

答案 1 :(得分:0)

您的错误与您的参数无关。如果您更改了模板,则很可能(因为它们没有默认值)使用模板的控制器现在具有不正确的参数。因此错误。