0

我正在寻找渲染一些模板并传入嵌套对象。我还没有看到很多这样的例子。它可以编译,但我正在寻找更多关于该方法的惯用方法的想法。

例如,假设以下案例类是从 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
} 

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

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

4

1 回答 1

0

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

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

例如,一个查询可以轻松获取Album根对象的列表,但如果每个查询都Album对相关列表进行数据库调用,Songs那么您将有大量的数据库请求,特别是考虑到您的视图包含一个列表的ThemedListOfAlbums

于 2016-02-13T09:04:24.580 回答