在heroku上部署时,播放框架应用程序'找不到模板'

时间:2012-02-29 00:49:41

标签: exception heroku playframework

我写了一个在本地运行但没有问题的应用程序

在尝试进入某个页面时将应用程序部署到Heroku后,我收到以下错误(从日志中获取):

  
      
  • 2012-02-29T00:11:53 + 00:00 app [web.1]:请求GET / Application / adminPage的内部服务器错误(500)
  •   
  • 2012-02-29T00:11:53 + 00:00 app [web.1]:找不到模板(在第78行的/app/controllers/Application.java中)
  •   
  • 2012-02-29T00:11:53 + 00:00 app [web.1]:
  •   
  • 2012-02-29T00:11:53 + 00:00 app [web.1]:at play.mvc.Controller.renderTemplate(Controller.java:667)
  •   
  • 2012-02-29T00:11:53 + 00:00 app [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不存在。
  •   
第78行的

/app/controllers/Application.java:

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 个答案:

答案 0 :(得分:8)

我在Heroku上遇到了这个问题,而且它不区分大小写。

在我的控制器中,我有类似

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

但是在我的观察文件夹中我有

app/views/Application/showuser.html

在我的Mac和Windows机器上,这很好,但在Linux机器上,包括Heroku,将找不到文件showUser.html

答案 1 :(得分:4)

尝试使用以下项目进行问题排查:

  1. 你是否将app下的views文件夹上传到Heroku?
  2. 您的文件和目录名称是否存在区分大小写的问题(例如Application/admin.htmlapplication/admin.html不同)?当你在Windows平台上时这没关系,但是当你将应用程序部署到linux / unix环境时,这会破坏你的应用程序。
  3. BTW,MailUSer看起来很奇怪,为什么不MailUser

相关问题