2009-07-24 6 views
4

Я обновил одно из своих приложений с рельсов до 2.3.2 из 2.0.2. Начать поиск. Однако, как только я начну запускать какие-либо страницы, страница покажет, но, похоже, не отображает какой-либо код макета. Ни один из стандартных тегов, таких как head, body, которые находятся в макете, визуализируется. Кажется, что как-то макет отключен. Я проверил журнал ошибок и не нашел жалобы на макет. Кто-нибудь видел это?рельсы макет не отображается

+1

То же самое происходит со мной – Tom

+0

Нам действительно нужно больше информации, прежде чем дать ответ на это. –

ответ

0

Трудно сказать наверняка, основываясь на том, что вы предоставили, но пару вещей, которые вы можете проверить:

  1. ли ваши макеты имеют правильные расширения файлов (.html.erb вместо .rhtml)

  2. соответствует ли имя макета имя контроллера или если не имя макета, объявленная внутри контроллера

  3. Я предполагаю, что макеты находятся в правильной директории в вашем приложении (приложение/просмотров/макеты)

удачи

+0

1. да 2. да. это соответствует. 3. да – 2009-07-24 22:08:36

1

Вы пытались установить макет explicityly? (Только для отладки)

render :layout => "mylayout" 

Это может помочь вам найти опечатки. Однажды у коллеги было место после его имени макета «application.html.erb», который мы нашли таким образом.

+0

Да, я пробовал это, и он работает. Но это вы принимаете: layou => 'mylayout "после рендеринга, это не сработает – 2009-07-31 17:00:49

0

Я считаю, что где-то между Rails 2.0 и 2.3 местоположение ApplicationController изменено с app/controllers/application.rb на app/controllers/application_controller.rb. Возможно ли, что из-за этого (или по какой-либо другой причине) ваш ApplicationController не загружается должным образом? Если это так, и если вы определили layout в этом классе, возможно, он не подберет макет по умолчанию.

+0

Когда я получил это, приложение не запустится, потому что application.rb определяет ApplicationController вместо приложения. – wesgarrison

1

Посмотрите, есть ли у вас файл app/views/layouts/application.html.erb - это должен быть ваш макет по умолчанию. Я не уверен, но я думаю, что Rails в некоторой версии изменила имя файла макета по умолчанию, а также где-то в прошлом изменила расширение файла.

+0

да и сделайте конечно, ваше расширение файла находится в правильном порядке. Это была моя проблема, когда-то :) application.erb.html больше не поддерживался после определенной версии Rails :) –

0

Это влияет на все контроллеры?

Если не смотреть приложение/просмотров/.html.erb, который, вероятно, очень пустой

Смежные вопросы