无法在rails 3中渲染布局

时间:2011-07-07 04:12:05

标签: ruby-on-rails ruby-on-rails-3

我有一个为rails 2编写的应用程序。我正在升级到rails 3.我的应用程序的大多数功能都有效,但它不会呈现任何布局。 我正在使用默认的'erb'引擎。

我已经在我的控制器中明确地调用了一个布局,但它甚至不渲染最简单的布局

layout 'application'

它不会抛出任何错误。

当我创建一个新项目并尝试在其中渲染一个布局时,它可以很好地工作。

2 个答案:

答案 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

希望这有帮助!