2012-06-27 20 views
5

Así que estoy aprendiendo Rails y trabajando a través del tutorial de Michael Hartl.Error de plantilla Heroku - buscando parciales en el directorio incorrecto

Cuando despliego a Heroku, aparece el infame "Lo sentimos pero algo salió mal".

La aplicación funciona bien en el servidor de desarrollo local.

registros heroku dicen:

2012-06-27T15:31:47+00:00 app[web.1]: Completed 500 Internal Server Error in 112ms 
2012-06-27T15:31:47+00:00 app[web.1]: 
2012-06-27T15:31:47+00:00 app[web.1]: * "/app/app/views" 
2012-06-27T15:31:47+00:00 app[web.1]: ActionView::Template::Error (Missing partial layouts/header with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]}. Searched in: 
2012-06-27T15:31:47+00:00 app[web.1]:): 
2012-06-27T15:31:47+00:00 app[web.1]:  11: </head> 
2012-06-27T15:31:47+00:00 app[web.1]:  12: <body> 
2012-06-27T15:31:47+00:00 app[web.1]:  13: 
2012-06-27T15:31:47+00:00 app[web.1]:  14: <%= render 'layouts/header' %> 
2012-06-27T15:31:47+00:00 app[web.1]:  15: 
2012-06-27T15:31:47+00:00 app[web.1]:  16:  <div class="container"> 
2012-06-27T15:31:47+00:00 app[web.1]: app/views/layouts/application.html.erb:14:in `_app_views_layouts_application_html_erb__112987114114249875_31386580' 
2012-06-27T15:31:47+00:00 app[web.1]:  17:  <% flash.each do |key, value| %> 

Si estoy leyendo esto correctamente, que está buscando en /app/app/views para la cabecera parcial. Esto está mal, debería estar en /app/views.

En mi máquina de desarrollo un archivo _header.html.erb está en app/views/layouts.

¿Por qué Heroku añadió el directorio extra app?

+0

Eso es ciertamente extraño. Podría valer la pena ejecutar 'heroku restart' en tu consola para reiniciar tus instancias. – John

+0

Lo he hecho. Los registros aún me dan el mismo error. –

+0

Continué trabajando en el tutorial solo viendo el sitio en desarrollo. Después de hacer otro git push después de agregar características del sitio, este error desapareció. Muy extraño. –

Respuesta

0

Acabo de tener este error y es porque el archivo parcial era haml, pero mi Gemfile tenía haml como en el grupo development solamente.

Convertí a Slim, que uso para el resto de la aplicación, y eso fue todo.

Básicamente, el servidor no pudo encontrar el archivo porque tenía una extensión no compatible (que de alguna manera estaba disponible en el entorno de desarrollo).

2

Tuve el mismo problema cuando me di cuenta de mi error: hice 'git commit -am "commit_message"', omitiendo 'git add .' antes de lo que resultó en dejar los nuevos archivos fuera de la confirmación.

Según 'git help commit':

-a, --all indican al mandato de organizar automáticamente los archivos que han sido modificados y eliminados, pero los nuevos archivos que no se han dicho acerca de git no se ven afectados.

Después de agregar los archivos sin seguimiento, nueva confirmación y 'git push heroku master' funcionó.

Cuestiones relacionadas