Layout 必须显式呈现:布局=>';应用程序';my Rails 3应用程序中的控制器内操作

Layout 必须显式呈现:布局=>';应用程序';my Rails 3应用程序中的控制器内操作,layout,ruby-on-rails-3,render,Layout,Ruby On Rails 3,Render,我必须在控制器操作中显式呈现:layout=>application,以便让我的新rails 3应用程序实际使用application.html.erb布局文件 有没有什么明显的事情是我做错了?如果我不调用:layout选项,它就不会渲染布局。我收到的信息如下: FooController#索引为HTML进行处理 …当我在WEBrick上阅读终端窗口跟踪时,我在一个从Rails 2.3.8升级到3.0.3的应用程序中遇到了同样的问题。在我的例子中,除了一个控制器外,所有控制器都使用app/vie

我必须在控制器操作中显式呈现:layout=>application,以便让我的新rails 3应用程序实际使用application.html.erb布局文件

有没有什么明显的事情是我做错了?如果我不调用:layout选项,它就不会渲染布局。我收到的信息如下:

FooController#索引为HTML进行处理


…当我在WEBrick上阅读终端窗口跟踪时,我在一个从Rails 2.3.8升级到3.0.3的应用程序中遇到了同样的问题。在我的例子中,除了一个控制器外,所有控制器都使用app/views/layouts/application.html.haml正确渲染。当我最后添加
render:layout=>“application”
时,不一致的控制器正确地呈现了。

我知道这是在调整死线程的大小,但我最近遇到了相同的问题。我的控制器是从ActionController::Base继承的,而不是从ApplicationController继承的。我遇到了与您相同的问题,直到我解决了这个问题。

我遇到了相同的问题,问题是有人为控制器定义了一个初始化方法。

谢谢,很好的提示。我也是+1。我当时正在将一个Rails2.3应用程序移植到Rails3上,我对它为什么没有呈现默认布局感到困惑@danhere的答案可能值得打勾。谢谢你,先生,这是我的问题。是的,这解决了我的问题。我想我们都忘了在控制器构造函数的末尾添加
super
。这个答案和继承答案都指向了问题所在-ApplicationController.initialize没有被调用。保存添加
render:layout=>“application”
以使应用程序布局正常工作意味着您正在做一些非常重要的事情错。请不要这样做。请参阅danhere的答案,了解您的问题最可能的解决方案。这不是解决方案,而是症状