Grails Не найдено конвертера, способного конвертировать тип [java.lang.Long] в тип [User] - PullRequest
0 голосов
/ 07 июня 2018

У меня есть два модельных класса: Книга и Пользователь.

    class Book {
         Date date
         String time
         User  futsal
         String email

         static constraints = {
         }
    }


class User {
    String fullName
    String futsalName
    String location
    String email
    String password
    String myUpload

    static constraints = {
    }
 }

Контроллер входа в систему принимает электронную почту и пароль и помещает пользователя в сеанс.

      package fullfinal

      class LoginController {

                def index() { }

                def login(){
                   def email = params.email
                   def password = params.password

                   def user = User.findByEmailAndPassword(email,password);

                   if(user!=null){
                         session["u"] = user
                    }

                   def id = user.id


                   def books = Book.findAllByFutsal(id)

                  render(view:"dashboard" ,model:[u:session.u])
                  }

            def dashboard(){

             }
       }

Я пытаюсь получить все записи в книге, чье значение "futsal" равно идентификатору пользователя, но я получаю следующее сообщение об ошибке:

Не найден конвертер, способный конвертировать извведите [java.lang.Long], чтобы ввести [fullfinal.User]

Я не понимаю, почему и что должно быть преобразовано здесь и как мне это сделать?

1 Ответ

0 голосов
/ 07 июня 2018

Вы должны передать объект пользователя для поиска книги вместо идентификатора.

 def books = Book.findAllByFutsal(user)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...