Приложение Play Framework "не может найти шаблон" при развертывании на heroku - PullRequest
6 голосов
/ 29 февраля 2012

я написал приложение, которое работает локально без проблем

после развертывания приложения в Heroku при попытке входа на определенную страницу я получаю следующую ошибку (взято из журнала):

  • 2012-02-29T00: 11: 53 + 00: 00 app [web.1]: Внутренняя ошибка сервера (500) для запроса GET / Application / adminPage
  • 2012-02-29T00: 11: 53 + 00: 00 приложение [web.1]: шаблон не найден (в /app/controllers/Application.java около строки 78)
  • 2012-02-29T00: 11: 53 + 00: 00 приложение [web.1]:
  • 2012-02-29T00: 11: 53 + 00: 00 приложение [web.1]: at play.mvc.Controller.renderTemplate (Controller.java:667)
  • 2012-02-29T00: 11: 53 + 00: 00 приложение [web.1]:
  • 2012-02-29T00: 11: 53 + 00: 00 app [web.1]: play.exceptions.TemplateNotFoundException: шаблон не найден: Application / admin.html 2012-02-29T00: 11: 53 + 00: 00 app [web.1]: шаблон Application / admin.html не существует.

/ app / controllers / Application.java в строке 78:

public static void admin(){
       List<MailUSer> allUsers =  MailUSer.findAll();
        render(allUsers);
}

файл маршрута:

# Home page
GET     /          Application.index
GET   /            module:secure
POST  /Register/welcome              Register.welcome
GET /Application/adminPage             Application.admin

# Ignore favicon requests
GET     /favicon.ico                            404

# Map static resources from the /app/public folder to the /public path
GET     /public/                                staticDir:public

# Catch all


*       /{controller}/{action}                  {controller}.{action}

что я делаю не так?

Ответы [ 2 ]

8 голосов
/ 29 февраля 2012

У меня была эта проблема на Heroku, и это была нечувствительность к регистру.

В моем контроллере у меня было что-то вроде

public static void showUser(Long id) {
    ...
    render(user);
}

, но в папке моих просмотров у меня было

app/views/Application/showuser.html

На моем компьютере Mac и Windows это нормально, но на компьютерах с Linux, включая Heroku, файл showUser.html не будет найден.

4 голосов
/ 29 февраля 2012

попробуйте устранить неполадки, используя следующие элементы:

  1. Вы загрузили папку представлений в приложении в Heroku?
  2. есть ли у вас проблемы с регистром в именах файлов и каталогов (скажем, Application/admin.html отличается от application/admin.html и т. Д.)? Когда вы работаете на платформе Windows, это нормально, но когда вы развертываете приложение в среде linux / unix, это может сломать ваше приложение.

Кстати, MailUSer выглядит странно, почему бы не MailUser?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...