2010-09-25 17 views
21

He intentado renderizar algunos archivos con HAML en Rails 3 sin éxito.HAML on Rails 3 error "Plantilla falta" que retorna

Mis archivos de prueba tienen la extensión .html.haml.

En mi Gemfile, tengo la línea gem 'haml' y he ejecutado bundle install.

Cuando ejecuto mi aplicación, me sale el siguiente error:

Template is missing

Missing template posts/index with {:locale=>[:en, :en], :formats=>[:html], :handlers=>[:rjs, :rhtml, :rxml, :builder, :erb]} in view paths "/Users/piet/Sites/blog/app/views"`

Alguna idea sobre cómo resolver esto?

+1

¿Ha reiniciado tus rieles procesan? –

+0

Cambié el nombre 'yourview.html.erb' a' yourview.html.haml' y mostró 'Plantilla faltante'. Así que reinicié el servidor de rails y está funcionando ahora. – Bao

Respuesta

1

HAML funciona sin problemas en Rails 3 .. dos cosas:

  1. Asegúrese de que su archivo de ruta tiene resources :posts
  2. Asegúrate de que tienes el archivo app/views/posts/index.html.haml

¿Podría intentarlo? Y confirme que también se ha intentado el comentario de Andrew sobre reiniciar Rails.

+0

No sé por qué, pero ahora está funcionando; 9 Thx para su respuesta – Peter

69

Para carriles 3 todo lo que tiene que hacer es añadir:

joya "HAML-carriles"

a su Gemfile, y luego hacer un "paquete de instalación"

Ver https://github.com/indirect/haml-rails

Si sigue viendo el error, intente reiniciar su servidor.

+15

esto debe marcarse como la respuesta; reiniciar el servidor fue el paso adicional que necesitaba. – Milktrader

+1

+1 para marcar esto como la respuesta –

+0

También necesitaba el reinicio del servidor. +1 para esta respuesta. –

2

Si está actualizando desde los carriles 2 a Rails 3, asegúrese de que esto es cerca de la parte superior de su config/application.rb archivo:

# If you have a Gemfile, require the gems listed there, including any gems 
# you've limited to :test, :development, or :production. 
Bundler.require(:default, Rails.env) if defined?(Bundler) 

Debe ser justo debajo

# Put this in config/application.rb 
require File.expand_path('../boot', __FILE__) 
require 'rails/all' 
+0

He estado en un agujero de conejo todo el día pensando que tenía algún tipo de problema de permiso rvm/pasajero/gemsets/unix debido a esto. Agregué un nuevo entorno ('qa') en el momento de Capiting y despliegue en un nuevo servidor. Todo el tiempo que necesité para agregar 'qa' a la siguiente línea 'Bundler.require (* Rails.groups (: assets =>% w (qa prueba de desarrollo)))'. Gracias por apuntarme en la dirección correcta. – Chris

+0

confirmado, exactamente el mismo problema que tuve –