Как использовать слизняк в 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"
}

Это также не работает.

0 ответов

Другие вопросы по тегам