0

我的大多数视图文件都具有相同的布局,因此定义layouts/application.html.haml(和其他文件)是合理的。headerfooter

但现在我需要创建一个没有任何这些样式的页面。事实上,我只想要一个带有标题的普通页面。

我怎么做?

4

2 回答 2

1

您可以像这样在控制器中指定布局:

class ThingsController < ApplicationController
  layout "some_layout"

  # rest of the controller
end

这将寻找app/views/layouts/some_layout.html.erb

您还可以使用一种方法来选择布局:

class ThingsController < ApplicationController
  layout :choose_layout

  def choose_layout
    current_user.cat? ? "cat" : "dog"
  end
  # rest of the controller
end
于 2013-03-04T21:14:43.547 回答
1

我想你在追求。在您的控制器中,假设您的操作称为 myaction

    def myaction
      # do here whatever you need to do and then
      render :layout => false
    end

请参阅 Rails 指南中的渲染选项:布局和重新渲染

于 2013-03-04T21:27:51.707 回答