我如何为SQLiteModel
对象生成一个slug,并在Leaf for 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"
}
这也行不通。