2012-02-08 19 views
6

Acabo de empezar a usar Rails y no estoy seguro de lo que no estoy haciendo correctamente.Error de Rails "Plantilla falta", aunque existe (3.2.1)

En routes.rb tengo

resources :pages 

En app/controllers/pages_controller.rb tengo

class PagesController < ApplicationController 
    def index 
    end 
end 

que tienen un diseño en app/views/layouts/application.html.erb y una plantilla en la aplicación/views/home/pages/index.html.erb que quiero que se muestre cuando solicite "/ páginas". Sin embargo, me sale el error Plantilla

falta

Missing páginas de plantilla/índice, application/índice con {: locale => [: es], : formatos => [html],: manejadores => [: erb,: constructor,: café]}. Buscado en: * "/ ###/app/views"

He estado usando stackoverflow para las edades sin publicar, pero tantas cosas diferentes parecen desencadenar este error que es difícil de encontrar respuestas para mi caso particular. También soy novato: 3 ¡Por favor ayuda!

+0

Si su editor de texto está escribiendo el archivo en el momento de la actualización, el archivo no estará disponible y se producirá un error como ese. Sucede. – JackHasaKeyboard

Respuesta

9

Dice que tiene app/views/home/pages/index.html.erb para representar la vista de índice de su recurso de páginas. Creo que el directorio home/ no es obligatorio.

En otras palabras, su archivo de vista debe ser app/views/pages/index.html.erb.

+1

Gracias! Parece que esto fue un error de falta de sueño: p Te revalidaría si pudiera. – hidenori

4

Lo que busca es encontrarlo en app/views/pages/index pero lo tiene en app/views/home/pages/index. Esa pequeña diferencia hace que la convención de Rails se pierda.

Si debe mantener su nueva jerarquía de directorios, hacer esto en el controlador:

class PagesController < ApplicationController 
    def index 
    render :partial => "home/pages/index" 
    end 
end 

embargo, por defecto, si usted tiene un recurso, como :pages, buscará automáticamente en app/views/pages.

+0

¡Gracias por la información extra! Yo personalmente no necesito hacer esto, pero alguien más podría hacerlo. – hidenori

0

Tuve este problema y lo resolví simplemente cambiando el nombre de la carpeta del auto a los autos. Tuve que cambiar el nombre de la carpeta de singular a plural.

Cuestiones relacionadas