2012-02-29 35 views
6

tôi đã viết một ứng dụng chạy ở địa phương không có vấn đềChơi khuôn khổ ứng dụng 'không thể tìm thấy mẫu' trong khi triển khai trên Heroku

sau khi triển khai ứng dụng Heroku khi cố gắng nhập một trang nào đó tôi nhận được lỗi sau (lấy từ đăng nhập):

  • 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]: nội server Error (500) cho yêu cầu GET/ứng dụng/adminPage
  • 2012-02 -29T00: 11: 53 + 00: 00 ứng dụng [web.1]: Không tìm thấy mẫu (Trong /app/controllers/Application.java quanh dòng 78)
  • 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]:
  • 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]: tại play.mvc .Controller.renderTemplate (Controller.java:667)
  • 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]:
  • 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]: play.exceptions.TemplateNotFoundException: Không tìm thấy mẫu: Ứng dụng/admin.html 2012-02-29T00: 11: 53 + 00: 00 ứng dụng [web.1]: Mẫu ứng dụng/admin.html không tồn tại.

/app/controllers/Application.java xung quanh dòng 78:

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

rout file:

# 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} 

những gì tôi làm sai?

+0

Khi lần đầu tiên tôi tạo tệp Admin.html tôi đã thực hiện với vốn A nhưng thay đổi nó khá nhanh thành nhỏ, sau đó được tải lên heroku và ngoại lệ vẫn ở đó, cuối cùng tôi đã tạo tệp admin2.html mới được gửi kết xuất tới nó và nó dường như để giải quyết vấn đề, tôi đoán cho một số lý do chơi đã nhìn thấy tên tập tin cũ .. vẫn không biết những gì đã sai. – james

Trả lời

8

Tôi gặp vấn đề này trên Heroku, và nó không phân biệt chữ hoa chữ thường.

Trong điều khiển của tôi, tôi đã có cái gì đó như

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

nhưng trong quan điểm của tôi thư mục tôi đã

app/views/Application/showuser.html 

Trên Mac của tôi, và máy tính Windows, điều này là tốt, nhưng trên máy Linux, bao gồm Heroku, tệp showUser.html sẽ không được tìm thấy.

4

cố gắng khắc phục sự cố bằng cách sử dụng các mục sau đây:

  1. đã bạn tải lên thư mục quan điểm dưới ứng dụng vào Heroku?
  2. bạn có gặp phải sự cố về phân biệt chữ hoa chữ thường trong tên tệp và thư mục của mình không (ví dụ: Application/admin.html khác với application/admin.html v.v.)? Khi bạn đang ở trong một cửa sổ nền tảng này là okay, nhưng khi bạn deloy ứng dụng vào một linux/unix môi trường, điều này sẽ phá vỡ ứng dụng của bạn.

BTW, MailUSer có vẻ lạ, tại sao không MailUser?

+0

các thư mục được tải lên như bình thường bao gồm cả chế độ xem.không nghĩ rằng tôi có vấn đề nhạy cảm với trường hợp - tôi thậm chí còn thay đổi 'render (allUsers);' thành 'renderTemplate (" Application/admin.html ", allUsers);' làm thế nào tôi có thể kiểm tra các tập tin được triển khai trên heroku? cảm ơn [về MailUSer xin lỗi đó là lỗi đánh máy] – james

Các vấn đề liên quan