2010-06-10 4 views
17

Je reçois une erreur que je ne peux pas comprendre:Rails message: ActionView :: MissingTemplate

ActionView::MissingTemplate (Missing template cluster/delete_stuff.erb in view path app/views) 
<...snip trace...> 
Rendering rescues/layout (internal_server_error) 

Je suis « enhancing » code d'autres et je suivais la convention ils mis en place, où ils ont ont un code comme :

<%= render :partial => "other_stuff" %> 

et un fichier nommé _other_stuff.html.erb et tout cela fonctionne, mais quand je copie ces petits extraits, je reçois l'erreur ci-dessus. Des idées? Il se passe quelque chose ici que je dois comprendre.

Répondre

26

se trouve que je n'avais pas

render :something

dans ma méthode de commande, donc je suppose que Rails pensé qu'il doit y avoir un « delete_stuff.erb » quelque part pour savoir quoi faire. Ajout d'un rendu et le message d'erreur disparaît.

4

ActionView recherchera les modèles/partiels dans le dossier d'affichage des contrôleurs en cours, à moins que son chemin de vue n'ait été modifié dans le contrôleur: vous pouvez essayer différents chemins de vue pour qu'il apparaisse en premier. Puisque vous parlez des partiels spécifiquement, jetez un oeil à la documentation sur partials.

Avez-vous un fichier _delete_stuff.html.erb dans votre répertoire vues/cluster? Si non, où est le _delete_stuff.html.erb partiel? Si ce n'est pas dans le même répertoire, vous devrez appeler render :partial => 'other_directory/delete_stuff' pour que votre partie apparaisse.

+0

Oui, j'ai un fichier _delete_stuff.html.erb dans le répertoire views/cluster. Je l'ai changé pour delete_stuff.erb et bien sûr cette erreur a disparu et un autre est apparu. Il était alors différent de tous les autres extraits de vue similaires que j'ai copiés. – rtfminc

+0

Quel genre d'erreur obtenez-vous maintenant? – theIV

Questions connexes