小编典典

每个动作的 Rails 布局?

all

我对某些操作使用不同的布局(主要用于大多数控制器中的新操作)。

我想知道指定布局的最佳方法是什么?(我在同一个控制器中使用 3 个或更多不同的布局)

我不喜欢使用

渲染:布局 => ‘名称’

我喜欢做

布局’名称’, :only => [:new]

但我不能用它来指定 2 个或更多不同的布局。

例如:

当我在同一个控制器中使用不同的布局名称和不同的唯一选项调用布局 2 次时,第一个将被忽略 - 这些操作不会显示在我指定的布局中。

注意:我使用的是 Rails 2。


阅读 54

收藏
2022-08-19

共1个答案

小编典典

您可以使用一种方法来设置布局。

class MyController < ApplicationController
  layout :resolve_layout

  # ...

  private

  def resolve_layout
    case action_name
    when "new", "create"
      "some_layout"
    when "index"
      "other_layout"
    else
      "application"
    end
  end
end
2022-08-19