我写了一个在本地运行但没有问题的应用程序
在尝试进入某个页面时将应用程序部署到Heroku后,我收到以下错误(从日志中获取):
第78行的
- 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不存在。
/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}
我做错了什么?
答案 0 :(得分:8)
我在Heroku上遇到了这个问题,而且它不区分大小写。
在我的控制器中,我有类似
的东西public static void showUser(Long id) {
...
render(user);
}
但是在我的观察文件夹中我有
app/views/Application/showuser.html
在我的Mac和Windows机器上,这很好,但在Linux机器上,包括Heroku,将找不到文件showUser.html
。
答案 1 :(得分:4)
尝试使用以下项目进行问题排查:
Application/admin.html
与application/admin.html
不同)?当你在Windows平台上时这没关系,但是当你将应用程序部署到linux / unix环境时,这会破坏你的应用程序。 BTW,MailUSer
看起来很奇怪,为什么不MailUser
?