簡體   English   中英

快速蒸汽葉環

[英]swift vapor leaf loop

我試圖從葉渲染器獲得一個非常簡單的結果,用於快速蒸汽的 for 循環。

我正在上傳葉文件 HTML,因為它不接受此處格式正確的代碼 -

在此處輸入圖片說明

下面的pizza.swift代碼-

   import Foundation
   import Vapor

  struct pizza: Encodable, Content, Decodable  {
  var id:  Int?
  var name: String
  var description: String
  var  price: Int
  }

route.swift 代碼如下 -

   import Routing
   import Vapor

   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]])
}



// Example of configuring a controller
  let todoController = TodoController()
  router.get("todos", use: todoController.index)
  router.post("todos", use: todoController.create)
  router.delete("todos", Todo.parameter, use: todoController.delete)
  }

我期望的是——

比薩

歡迎來到世界上最好的披薩

  .statinisland
  .rome

我得到的是 -

比薩

歡迎來到世界上最好的披薩

.#for (pizza in pizza) {
.
} 

如果您需要更多信息,我可以上傳。 任何幫助將不勝感激。

編輯 - 我也在下面添加 configure.swift 代碼 -

import FluentSQLite
import Vapor
import Leaf // added
 /// Called before your application initializes.
 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)

 // Configure a SQLite database
 let sqlite = try SQLiteDatabase(storage: .memory)

 // Register the configured SQLite database to the database config.
 var databases = DatabasesConfig()
 databases.add(database: sqlite, as: .sqlite)
 services.register(databases)

 // Configure migrations
 var migrations = MigrationConfig()
 migrations.add(model: Todo.self, database: .sqlite)
services.register(migrations)
let leafProvider = LeafProvider()    // added
try services.register(leafProvider)  // added
config.prefer(LeafRenderer.self, for: ViewRenderer.self)// added
// http://localhost:8080/ already in use so adding new server  http://localhost:8080/ below -
 let serverConfigure = NIOServerConfig.default(hostname: "0.0.0.0", port: 9090)
services.register(serverConfigure)
}

有兩個問題:

  1. 您在路線中定義了一個關鍵的“披薩”,並在.leaf文件中使用了“披薩”。 葉區分大小寫。

  2. 這很可能是 Leaf 中的一個錯誤。 #for(之間引入一個空格會導致我的工作應用出現問題。

蒸氣4

#for(比薩餅中的比薩餅):

#endfor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM