2012-02-08 15 views
6

Ho appena iniziato a utilizzare Rails e non sono sicuro di ciò che non sto facendo correttamente.Errore "Modello mancante", anche se esiste (3.2.1)

In routes.rb ho

resources :pages 

in app/controllers/pages_controller.rb ho

class PagesController < ApplicationController 
    def index 
    end 
end 

Ho un layout in app/views/layout/application.html.erb e un modello in app/views/home/pages/index.html.erb che voglio renderizzato quando richiedo "/ pages". Tuttavia, ottengo l'errore

Template manca

mancante pagine modello/index, application/indice con {: locale => [: it], : formati => [: html],: handlers => [: erb,: builder,: coffee]}. Ricercato in: * "/ ###/app/views"

ho usato StackOverflow per le età senza distacco, ma tante cose diverse sembrano innescare questo errore che è difficile trovare risposte per la mia caso particolare. Anche io sono un noob: 3 Please help!

+0

Se l'editor di testo è in fase di scrittura nel file al momento dell'aggiornamento, il file non è disponibile e causerà un errore del genere. Succede. – JackHasaKeyboard

risposta

9

Si dice di avere app/views/home/pages/index.html.erb per rappresentare la vista indice per la risorsa delle pagine. Penso che la directory home/ non sia richiesta.

In altre parole, il file di visualizzazione deve essere app/views/pages/index.html.erb.

+1

Grazie! Sembra che si sia trattato di un errore di mancanza di sonno: p Ti sconvolgerei se potessi. – hidenori

4

Sta cercando di trovarlo in app/views/pages/index ma lo avete in app/views/home/pages/index. Questa leggera differenza fa sì che la convenzione Rails sia persa.

Se è necessario mantenere la vostra nuova gerarchia di directory, fare questo sul controller:

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

Ma, per impostazione predefinita, se si dispone di una risorsa, come :pages, apparirà automaticamente in app/views/pages.

+0

Grazie per le informazioni extra! Io personalmente non ho bisogno di farlo, ma qualcun altro potrebbe. – hidenori

0

Ho avuto questo problema e l'ho risolto cambiando semplicemente il nome della cartella dall'auto alle auto. Ho dovuto cambiare il nome della cartella da singolare a plurale.

Problemi correlati