Создайте область администратора (CRUD) в Play Framework

Я следую Официальному руководству для создания области администрирования. Я сделал первый шаг правильно, но когда я расширяю свой класс контроллера до CRUD, я получил ошибку (Crud не найден в проекте) + Access denied, когда я обращаюсь к http://localhost:9000/admin/. Это то, что я сделал:

  • Включить CRUD-модуль для приложения В файле /conf/application.conf включите модуль CRUD, добавив эту строку:

    module.crud=${play.path}/modules/crud

    Импорт маршрутов по умолчанию CRUD

  • В файле conf/routes импортируйте маршруты модуля по умолчанию, добавив эту строку:

    * /admin module:crud

  • Создайте контроллер пользователей

    package controllers;
    
    public class Users extends CRUD {
    
    }
    
  • Перезапуск воспроизведения и затмения

Любое предложение о том, чтобы получить административную область, пожалуйста,

Ответы

Ответ 1

Повторите эту команду снова

play eclipsify myApp 

Ответ 2

Спасибо за подсказку, play eclipsify сделал трюк, но раньше, мне пришлось разрешать зависимости, поскольку они теперь находятся в файле dependencies.yml:

# Application dependencies

require:
    - play
    - play -> crud

Просто запустите "зависимости от игр myApp", а затем заткните. Перезагрузите проект в Eclipse, и он работает.

Протестировано в последней версии (1.2.3)

Фабьен

Ответ 3

Это может быть вызвано несколькими проблемами. Позвольте мне изложить шаги для проверки вашей установки:

  • Имя контроллера должно быть множественным (контроллеры/Users.java)
  • Убедитесь, что у вас есть модель (модели/User.java).
  • Контроллер должен расширять CRUD
  • Запуск зависимостей воспроизведения
  • запустить игру eclipsify и повторно импортировать проект (на всякий случай)
  • Аннотировать модель с @Entity
  • Маршруты для /admin должны быть до/{controller.action}...
  • application.conf должен содержать следующую строку:
    module.crud=${play.path}/modules/crud</li>
    

Комментарии:

  • Используемая версия фреймворка Play 1.2.3 не требует наличия crud в dependencies.yml

Ответ 4

Я не понимаю вашу проблему, но может возникнуть проблема с вашими определениями маршрутов. Пожалуйста, проверьте свой файл conf/routes
запись .* /admin module:crud кажется немного странной для меня
когда вы начинаете игру! на сервере есть сообщения о протоколировании, указывающие неправильные определения маршрутов? например Invalid route definition : .* /admin module:crud
Я думаю, что определение должно выглядеть примерно так: * /admin module:crud

Ответ 5

Решение для меня было следующим:

Объекты контроллера должны быть множественными (конец s)!

Имя класса контроллера должно быть именем класса модели с окончательный.

например. если у вас есть объект модели User.java, объект контроллера, расширяющий CRUD, должен быть User * s *.java

Я запускал Play 1.2.3 в Windows 7, и это заняло у меня некоторое время, чтобы понять, надеюсь, что это поможет кому-то еще!

Ответ 6

Если вы посмотрите на учебник, файл маршрута выглядит следующим образом

# Import CRUD routes
*      /admin              module:crud

Вы также должны проверить, существует ли CRUD-модуль, перейдя в

play/modules/crud/

Если он не существует, я бы предложил загрузить последнюю версию Play.

Ответ 7

Я случайно написал свою сущность в пакете model вместо models.