在旋转模板中创建列表

create List inside twirl template

通常我都是这样创建所有东西的:

@(courses: List[models.Course])

然后我将列表从控制器传递到 render() 方法的视图中。

但这是某种特殊情况,实际上是部分情况,我必须将课程列表添加到控制器中的每个方法中。

逻辑:

main.scala.html 是主文件,它通过 @content 变量调用所有其他视图。

有一个 twitter bootstrap 导航栏,它被调用到每个视图中,我不想将列表从每个控制器操作传递到视图中,而是我想这样称呼它:

伪代码:

@List[Course] = { Course.find.all()) { courses => 
    @for(c <- courses) {
        @c.getCategory()
     }
}

注意:这是伪代码我对Scala一无所知。

我所做的是:

 @defining( CourseCategory.find.all()) { courses =>
       @for(i <- courses) {
          <li><a href="#">@i.getCategoryName</a></li>
        }
  }

我不确定这是否是一个好方法,但它有效。

您也可以将其缩短为:

@for(i <- CourseCategory.find.all()) {
    <li><a href="#">@i.getCategoryName</a></li>
}