Scala Play Framework模板化复杂对象

时间:2016-02-13 06:19:09

标签: scala playframework play-templates

我希望渲染一些模板并传入嵌套对象。我还没有看到很多这方面的例子。它编译,但我正在寻找关于方法是如何惯用的想法。

例如,假设以下案例类是从Slick数据库查询构建的

case class ThemedListOfAlbums(
 themeName: String,
 description: String,
 albums: List[Album]
)
case class Album(
 name: String,
 artist: String,
 imageUrl: String
 songs: List[Song]
)
case class Song(
 name: String,
 imageUrl: String,
 description: String
)

然后就像传递复杂对象一样简单吗?:

@(user: User, catalogs: List[ThemedListOfAlbums])
 //stuff
<ul>
@for(c <- catalogs) {
 //?? want to render a partial for each catalog with a list of album images 
      //with song names on them
} 

在我需要重新考虑我想要完全呈现的内容之前,嵌套级别是否有限制?

如果符合“做你的功课”问题,那么链接到示例会很有帮助。似乎无法找到任何相关的信息

1 个答案:

答案 0 :(得分:0)

如果您的Slick查询正确填充ThemedListOfAlbums.albumsAlbum.songs,那么我不明白为什么这不起作用

我更感兴趣的是看到您正在使用的查询类型,因为这种方法可以很快导致单个页面的大量数据库查询

例如,一个查询可以很容易地获得根对象的Album列表,但是如果每个Album然后为相关Songs的列表进行数据库调用那么你'将会有大量的数据库请求,特别是考虑到您的视图包含ThemedListOfAlbums

的列表
相关问题