我有一个为rails 2编写的应用程序。我正在升级到rails 3.我的应用程序的大多数功能都有效,但它不会呈现任何布局。 我正在使用默认的'erb'引擎。
我已经在我的控制器中明确地调用了一个布局,但它甚至不渲染最简单的布局
layout 'application'
它不会抛出任何错误。
当我创建一个新项目并尝试在其中渲染一个布局时,它可以很好地工作。
答案 0 :(得分:10)
未使用控制器的默认布局的原因是控制器未正确初始化。如果控制器层次结构中包含的模块具有不调用super的“initialize”方法,则会发生这种情况。这会停止初始化链,最终会出现这种问题。
您可以在此处详细了解:
http://www.spiffystores.com/blog/2013/01/04/problems-rendering-a-layout-in-rails3/
答案 1 :(得分:3)
你必须使用
render :layout => 'application'
你可以在这里查看:
http://guides.rubyonrails.org/layouts_and_rendering.html
希望这有帮助!