Я очень новичок в Vapor и бэкэнд логи c в целом. Я создаю простое веб-приложение с помощью Leaf и пытаюсь прочитать данные из базы данных psql и отобразить их на странице html / css (leaf). Проблема в том, что когда я передаю свои параметры на страницу, он не загружает css и изображения.
Это функция в моем контроллере
my project configuration:
App
├── Package.swift
├── Resources
│ ├── Views
│ │ └── index.leaf
├── Public
│ ├── images (images resources)
│ ├── styles (css resources)
└── Sources
├── App
├── Controllers
│ └── PoesiaController.swift
├── Models
└── Poesia.swift
final class PoesiaController {
func createView(_ req: Request) throws -> Future<View> {
let id: Int = try req.parameters.next(Int.self)
return Poesia.find(id, on: req).unwrap(or: NSError(domain: "errore", code: 1, userInfo: nil)).flatMap(to: View.self) { p in
return try req.view().render("index", ["title": p.title, "content":p.content])
}
}
}
, и я создал маршрут как
let poesieController = PoesiaController()
router.get("poesia", Int.parameter, use: poesieController.createView)
, когда я запускаю страницу с правильными данными, но нет css или загружены изображения.
мой файл index.leaf
странно то, что если я создаю маршрут для отображения страницы без переменных или вне сопоставления объектов, он показывает нормально.
router.get("index") {req -> Future<View> in
return try req.view().render("index")
}
ОБНОВЛЕНИЕ: Я обнаружил, что проблема заключается в отображении листовой страницы в вызове с параметрами. Если я пытаюсь отобразить страницу, используя маршрут без параметров, это работает, но если я делаю то же самое внутри маршрута с параметрами, он не загружает css и изображения.