Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift “迅捷蒸汽”;加上「;按钮显示错误_Swift_Vapor_Leaf - Fatal编程技术网

Swift “迅捷蒸汽”;加上「;按钮显示错误

Swift “迅捷蒸汽”;加上「;按钮显示错误,swift,vapor,leaf,Swift,Vapor,Leaf,当我点击add按钮时,它显示error-error true 原因“未找到” 配置.swift代码- import FluentSQLite import Vapor import Leaf // added public func configure(_ config: inout Config, _ env: inout Environment, _ services: inout Services) throws { // Register providers first try serv

当我点击add按钮时,它显示error-error true 原因“未找到”

配置.swift代码-

import FluentSQLite
import Vapor
import Leaf // added
public func configure(_ config: inout Config, _ env: inout Environment, _ services: inout Services) throws {
// Register providers first
try services.register(FluentSQLiteProvider())

// Register routes to the router
let router = EngineRouter.default()
try routes(router)
services.register(router, as: Router.self)

// Register middleware
var middlewares = MiddlewareConfig() // Create _empty_ middleware config
// middlewares.use(FileMiddleware.self) // Serves files from `Public/` directory
middlewares.use(ErrorMiddleware.self) // Catches errors and converts to HTTP response
services.register(middlewares)

let directoryConfig = DirectoryConfig.detect()
services.register(directoryConfig)
let sqlite = try SQLiteDatabase(storage: .file(path:"\(directoryConfig.workDir)pizza.db"))
var databases = DatabasesConfig()
databases.add(database: sqlite, as: .sqlite)
services.register(databases)

var migrations = MigrationConfig()
migrations.add(model: Todo.self, database: .sqlite)
migrations.add(model: Pizza.self, database: .sqlite)
services.register(migrations)

let leafProvider = LeafProvider()    // added
try services.register(leafProvider)  // added
config.prefer(LeafRenderer.self, for: ViewRenderer.self)// added
let serverConfigure = NIOServerConfig.default(hostname: "0.0.0.0", port: 9090)
services.register(serverConfigure)
 }
匹萨。斯威夫特代码-

import Routing
import Vapor
import FluentSQLite
public func routes(_ router: Router) throws {
    router.get { req -> Future <View> in
        let Newyorker = Pizza(id: 5, name: "statinisland", description: "impracticaljokers", price: 55)
        let Traditional = Pizza(id: 5, name: "rome", description: "pope", price: 55)
        return try req.view().render("welcome",["pizza":[Newyorker,Traditional]])
    }
    router.post(Pizza.self, at: "add") { req, pizza in
        return pizza
    }
}
进口基础 进口蒸汽 导入FluentSQLite

struct Pizza: SQLiteModel, Content, SQLiteMigration, Migration {
    var id:  Int?
    var name: String
    var description: String
    var  price: Int
}
swift代码-

import Routing
import Vapor
import FluentSQLite
public func routes(_ router: Router) throws {
    router.get { req -> Future <View> in
        let Newyorker = Pizza(id: 5, name: "statinisland", description: "impracticaljokers", price: 55)
        let Traditional = Pizza(id: 5, name: "rome", description: "pope", price: 55)
        return try req.view().render("welcome",["pizza":[Newyorker,Traditional]])
    }
    router.post(Pizza.self, at: "add") { req, pizza in
        return pizza
    }
}
导入路由
进口蒸汽
导入FluentSQLite
公用func路由(u路由器:路由器)抛出{
router.get{req->Future in
let Newyorker=Pizza(id:5,名称:“statinisland”,描述:“不切实际的小丑”,价格:55)
let Traditional=比萨饼(id:5,名称:“罗马”,描述:“教皇”,价格:55)
返回try-req.view().render(“welcome”,[“pizza”:[Newyorker,Traditional]])
}
router.post(Pizza.self,位于:“add”){req,Pizza in
回程披萨
}
}
欢迎来到树叶截图-

本地主机截图-

错误截图-

无法理解。谢谢

编辑1。我已粘贴了叶子文件-

 <!DOCTYPE html>
 <html>
 <body>
  <h1> Pizza </h1>
  <p> Welcome to best pizza in the  world  </p>
 <ul>
   #for(pizza in pizza)  {
  <li>(pizza.name)</li>
  }
  </ul>
 </body>
 </html>

 <form method="post" action="/add">
 <p>Name: <input type="text" name = "name" /></p>
 <p>Descrition: <input type="text" name = "description" /></p>
 <p>Price: <input type="number" name = "price" /></p>
 <button type="submit">Add</button>
 </form>

披萨
欢迎来到世界上最好的比萨饼

    #(披萨中的披萨){
  • (比萨饼名称)
  • }
姓名:

描述:

价格:

添加
如果您将
.leaf
文件作为文本而不是图像包含,则会更容易。@Nick-i)不知何故,stackoverflow并没有按原样接受leaf文件,而是同时发布了leaf文件。所以,我发布了截图。ii)那么,如何从表格中获得结果?有人开始悬赏了吗?我没有这样做?当我发布你的.leaf文件时,它找到了路径,并且工作得非常好。您的浏览器中不可能有旧的缓存版本,是吗?可能是因为,当我删除这些行时—“让serverConfigure=NIOServerConfig.default(主机名:“0.0.0.0”,端口:9090)services.register(serverConfigure)”,在configure.swift中,它仍然打开localhost:9090,治愈方法是什么?如果您将
.leaf
文件作为文本而不是图像包含进来,会更容易。@Nick-i)不知何故,stackoverflow并没有按原样接受leaf文件,而是发布了leaf文件。所以,我发布了截图。ii)那么,如何从表格中获得结果?有人开始悬赏了吗?我没有这样做?当我发布你的.leaf文件时,它找到了路径,并且工作得非常好。您的浏览器中不可能有一个旧的缓存版本,是吗?可能是因为,当我删除这些行时—“让serverConfigure=NIOServerConfig.default(主机名:“0.0.0”,端口:9090)services.register(serverConfigure)”,在configure.swift中,它仍然打开localhost:9090,解决方法是什么?