Объект User расширяет Magic [User] (). using ("users") не может быть скомпилирован - PullRequest
2 голосов
/ 21 июня 2011

При использовании Anorm я хочу использовать другое имя таблицы для класса случая пользователя:

object User extends Magic[User]().using("users")

Но я получаю следующую ошибку компиляции:

Файл /app/models/User.scala не может быть скомпилирован. Возникла ошибка: ';' ожидается, но "." найдено.

объект Пользователь расширяет MagicUser ↓ .using ("users")

Это ошибка Anorm?

1 Ответ

4 голосов
/ 21 июня 2011

Очевидно, что это не ошибка, ваш код не является действительным scala. Вы можете сделать это вместо:

lazy val User = new Magic[User].using("users")

(соглашение будет состоять из строчных букв "пользователь", оставляя заглавную букву, чтобы она соответствовала предполагаемому коду)

объект - это объявление, а не выражение. Объявление объекта

object ObjectName extends Ancestor(ancestor_constructor_arguments) {
  // body: data, method and initialization code
}

с большинством частей по желанию.

Вы должны выполнить адаптацию либо с помощью аргументов конструктора, либо с помощью кода инициализации в теле объекта.

Поскольку вы не добавляете поведение в класс Magic, похоже, в любом случае нет необходимости объявлять объект.

...