我试图在 Views
目录中组织我的 Leaf View ,但无法在 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")
}
但我猜它只会直接在 Views
中查找 test.leaf
文件。如何将 Leaf 文件放入 Views
内的嵌套文件夹中?
最佳答案
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")
}
关于swift - 在 Vapor 中的/Views 中查找嵌套文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52788438/