2012-02-29 13 views
6

ho scritto un app che funziona a livello locale senza problemiGiocare quadro app 'non riesce a trovare il modello' durante la missione su Heroku

dopo la distribuzione app per Heroku quando si cerca di entrare in una certa pagina ricevo il seguente errore (tratto da log):

  • 2012-02-29T00: 11: 53 + 00: 00 app [web.1]: Internal Server Error (500) per la richiesta GET/Application/AdminPage
  • 2012-02 -29T00: 11: 53 + 00: 00 app [web.1]: modello non trovato (in /app/controllers/Application.java intorno alla riga 78)
  • 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: modello non trovato: Application/admin.html 2012-02-29T00: 11: 53 + 00: 00 app [web.1]: il modello Application/admin.html non esiste.

/app/controllers/Application.java attorno alla riga 78:

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

file di rotta:

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

Che cosa sto facendo di sbagliato?

+0

Quando ho creato il file Admin.html l'ho fatto con la A maiuscola ma l'ho cambiato abbastanza rapidamente in piccolo a poi caricato su heroku e l'eccezione era ancora lì, alla fine ho creato un nuovo file admin2.html inviato rendering a e sembrava che risolvesse il problema, immagino che per qualche ragione play stesse vedendo il vecchio nome del file .. ancora non so cosa fosse sbagliato. – james

risposta

8

Ho avuto questo problema su Heroku ed era insensibile al case.

Nel mio controller, ho avuto qualcosa di simile

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

ma nel mio punto di vista cartella ho avuto

app/views/Application/showuser.html 

Sul mio Mac, e la macchina di Windows, questo va bene, ma su macchine Linux, incluso Heroku, il file showUser.html non sarà trovato.

4

cercare di risolvere i problemi utilizzando i seguenti elementi:

  1. Hai caricato la cartella di vista secondo app per il Heroku?
  2. problemi di maiuscole/minuscole nei nomi di file e directory (ad esempio Application/admin.html è diverso da application/admin.html ecc.)? Quando si è su una piattaforma Windows questo va bene, ma quando si esegue l'app su un ambiente linux/unix, questo interromperà l'app.

BTW, MailUSer sembra strano, perché non MailUser?

+0

le cartelle caricate come al solito, inclusa la visualizzazione.non penso di avere maiuscole e minuscole - ho persino cambiato 'render (allUsers);' to 'renderTemplate (" Application/admin.html ", allUsers);' come posso controllare i miei file distribuiti su heroku? grazie [per quanto riguarda MailUSer mi dispiace è stato un errore di battitura] – james

Problemi correlati