Привязка данных Scalatra

Я играю с привязкой модели команд, я посмотрел пример проекта github, и у меня возникли проблемы при использовании зависимости:

  "org.scalatra" % "scalatra-data-binding" % "2.2.0-RC1"

Взяв пример кода проекта, т.е.

abstract class TodosCommand[S](implicit mf: Manifest[S]) extends ModelCommand[S] with ParamsOnlyCommand
class CreateTodoCommand extends TodosCommand[Todo] {
  val name: Field[String] = asType[String]("name").notBlank.minLength(3)
}
case class Todo(id: Integer, name: String, done: Boolean = false)  

Я не могу скомпилировать, когда использую метод command [CreateTodoCommand] из свойства CommandSupport, т.е.

scala: type arguments [au.com.xxx.sapi.seo.CreateTodoCommand] do not conform to method command's type parameter bounds [T <: SeoServlet.this.CommandType]
    val cmd = command[CreateTodoCommand]
                     ^

Я не очень разбираюсь в Scala, но предполагаю, что, поскольку ParamsOnlyCommand расширяет Command и есть эта строка в трейте поддержки команд, проблем быть не должно:

  type CommandType <: org.scalatra.databinding.Command

Есть идеи, почему у меня возникает эта проблема?

Привет, Крис.


person Owen    schedule 12.04.2013    source источник


Ответы (2)


Скорее всего, у вас возникли проблемы из-за того, что мы все еще ссылаемся на старый пример версии, для которой документы больше не применимы. Я думал, что поймал все примеры проектов в документации и переместил их в https://github.com/scalatra/scalatra-website-examples, но, видимо, я пропустил этот. Приносим извинения за неудобства!

Я посмотрю, смогу ли я это исправить сегодня, и приведу пример компиляции. А пока вы можете попробовать обновить все свои зависимости, связанные со Scalatra, до версии 2.2.0 - и посмотреть, исправит ли это что-нибудь сразу.

Последней стабильной версией Scalatra в настоящее время является 2.2.1, но вам нужно быть осторожным с командами, поскольку я помню, как @casualjim говорил, что он в некоторой степени изменил способ работы между 2.2.0 и 2.2.1.

person futurechimp    schedule 12.04.2013
comment
В итоге я использовал зависимости Scalatra 2.2.1 и org.scalatra %% scalatra-commands% 2.2.0 с небольшими проблемами. - person Owen; 13.04.2013

В Scalatra 2.2.1, "org.scalatra" %% "scalatra-commands"% "2.2.0" у меня нет проблем. но я не знаю, что скалятра-привязка данных также является автономной.

person LiuTiger    schedule 08.05.2013