2009-07-24 7 views
4

J'ai mis à jour une de mes applications de rails à 2.3.2 de 2.0.2. Démarrer la recherche Toutefois, une fois que je commence à exécuter des pages, la page s'affiche, mais il ne semble pas afficher de code de mise en page. Aucune des balises standard telle tête, corps qui sont dans la mise en page ne sont rendues. Il semble que la mise en page soit désactivée. J'ai vérifié le journal des erreurs et n'ai trouvé aucune plainte sur la mise en page. Est-ce que quelqu'un a vu ça?disposition des rails ne montrant pas

+1

même chose se passe pour moi – Tom

+0

Nous avons vraiment besoin de plus d'informations avant de donner une réponse à ce sujet. –

Répondre

0

Il est difficile de dire à coup sûr en fonction de ce que vous avez fourni, mais un couple de choses que vous pouvez vérifier:

  1. Faites vos mises en page ont les extensions de fichier correct (.html.erb au lieu de .rhtml)

  2. est-ce que le nom de la mise en page en fonction du nom du contrôleur ou sinon est le nom de la mise en page déclarée à l'intérieur du contrôleur

  3. Je suppose les mises en page sont dans le bon répertoire dans votre application (app/views/layouts)

Bonne chance

+0

1. oui 2. oui. ça correspond. 3. oui –

1

Avez-vous essayé de définir la mise en page explicityly? (Pour le débogage uniquement)

render :layout => "mylayout" 

Cela peut vous aider à trouver des fautes de frappe. Un collègue a déjà eu un espace après son nom de mise en page, "application.html.erb" que nous avons trouvé de cette façon.

+0

Oui, j'ai essayé ça et ça marche. Mais vous prenez: layou => 'mylayout' après le rendu, cela ne fonctionnera pas –

0

Je crois que quelque part entre Rails 2.0 et 2.3 l'emplacement de ApplicationController est passé de app/controllers/application.rb à app/controllers/application_controller.rb. Est-il possible qu'à cause de cela (ou d'une autre raison) votre ApplicationController ne soit pas chargé correctement? Si c'est le cas, et si vous avez défini layout dans cette classe, il se peut qu'il ne prenne pas la disposition par défaut.

+0

Quand j'ai été averti, l'application ne démarre pas parce que application.rb définit ApplicationController au lieu de Application – wesgarrison

1

Regardez si vous avez le fichier app/views/layouts/application.html.erb - il devrait être votre mise en page par défaut. Je ne suis pas sûr mais je pense que Rails dans une version a changé le nom de fichier de mise en page par défaut et aussi, quelque part dans le passé, a changé l'extension de fichier.

+0

ouais. Assurez-vous que votre extension de fichier est dans le bon ordre.C'était mon problème une fois :) application.erb.html n'était plus supporté après une certaine version de Rails :) –

0

Est-ce que cela affecte tous les contrôleurs?

Si pas regarder app/views/.html.erb qui est probablement très vide

Questions connexes