swift - 在 Vapor 中的/Views 中查找嵌套文件夹

标签 swift vapor

我试图在 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/

相关文章:

ios - 动态单元出队导致应用程序崩溃

swift - 将成员标记为私有(private)导致 Argument Passed to Call That Takes No Arguments

swift - Vapor 网络套接字保持与数据库的连接

swift - 无法让 Vapor 与 Xcode 8 beta 3 一起使用

swift - 如何设置 Fluent Query 的限制?

swift - 如何使用 UIPickerView 数据执行计算?

swift - 在新的 swift 2.0 中获取 NSData 语句错误

swift - 如何使用 Swift Package Manager 更新单个依赖项?

ios - 在 UITableViewCell 中访问 UIButton

swift - 如何通过Vapor获取远程ip