Как использовать слизняк в Vapor 3
Как бы я пошел на создание пули для SQLiteModel
объект, и использовать его в Leaf для Vapor 3? Моя цель состоит в том, чтобы предоставить дружественной поисковой системе ссылку на страницу сведений о моей модели (например, /tag/swift/
против /tag/0/
), а не с помощью ссылки id
,
Я нашел Parameter
протокол, который означает, что моя модель имеет uniqueSlug
имущество. К сожалению, используя его в Leaf #(model.uniqueSlug)
не работает
Вот мой листовой код:
#for(tag in tags) {
<a class="tag" href="tag/#(tag.id)">#(tag.name)</a>
}
Вот моя модель:
final class Tag: SQLiteModel, Codable {
var id: Int?
var name: String
var description: String
init(id: Int? = nil, name: String, description: String) {
self.id = id
self.name = name
self.description = description
}
}
extension Tag: Migration { }
extension Tag: Content { }
extension Tag: Parameter { }
Я также попытался добавить вычисляемое свойство в модель:
var slug: String {
return "test"
}
Это также не работает.