我正在尝试在Views
目录内组织我的Leaf视图,但是无法在Views
内创建嵌套目录。我有这样的标题
<header>
<nav>
<ul>
<li><a href="/test">Test</a></li>
</ul>
</nav>
</header>
/test
实际上包含在Views/TestFolder
中,因为我可能认为它是在Views
文件夹中递归搜索的,但事实并非如此。如果我尝试访问test
页,则会收到以下错误(我认为这很合理):
{
"error": true,
"reason": "No file was found at path: /Users/eirik/Documents/Utvikling/Jobb/AaseSoftware/Resources/Views/test.leaf"
}
我也不知道如何在routes.swift
中为此定义路由。现在我正在这样做:
router.get("/test") { req -> Future<View> in
return try req.view().render("test")
}
但是我想它只会在test.leaf
内部直接寻找Views
文件。如何将Leaf文件放在Views
内的嵌套文件夹中?
答案 0 :(得分:4)
req.view()始终指向默认文件夹。如果转到LeafProvider类,将看到以下默认设置。
viewsDir: dir.workDir + "Resources/Views"
对于您的情况,您需要从正确的路径render("TestFolder/test")
进行渲染。请参见下面的代码。
router.get("/test") { req -> Future<View> in
return try req.view().render("TestFolder/test")
}