Создать область администратора (CRUD) в Play Framework - PullRequest
13 голосов
/ 20 января 2011

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

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

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

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

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

    * /admin module:crud

  3. Создание контроллера пользователей

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

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

Ответы [ 7 ]

11 голосов
/ 24 января 2011

Попробуйте снова запустить эту команду

play eclipsify myApp 
5 голосов
/ 01 сентября 2011

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

# Application dependencies

require:
    - play
    - play -> crud

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

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

Fabien

3 голосов
/ 24 ноября 2011

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

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

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

  • Используемая версия Play Framework 1.2.3 не требует наличия crud в dependencies.yml
1 голос
/ 13 сентября 2011

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

Объекты контроллера должны быть множественного числа (заканчиваются на s )!

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

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

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

1 голос
/ 20 января 2011

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

0 голосов
/ 29 ноября 2011

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

0 голосов
/ 20 января 2011

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

# Import CRUD routes
*      /admin              module:crud

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

play/modules/crud/

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

...