我希望渲染一些模板并传入嵌套对象。我还没有看到很多这方面的例子。它编译,但我正在寻找关于方法是如何惯用的想法。
例如,假设以下案例类是从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
}
在我需要重新考虑我想要完全呈现的内容之前,嵌套级别是否有限制?
如果符合“做你的功课”问题,那么链接到示例会很有帮助。似乎无法找到任何相关的信息
答案 0 :(得分:0)
如果您的Slick查询正确填充ThemedListOfAlbums.albums
和Album.songs
,那么我不明白为什么这不起作用
我更感兴趣的是看到您正在使用的查询类型,因为这种方法可以很快导致单个页面的大量数据库查询
例如,一个查询可以很容易地获得根对象的Album
列表,但是如果每个Album
然后为相关Songs
的列表进行数据库调用那么你'将会有大量的数据库请求,特别是考虑到您的视图包含ThemedListOfAlbums