我对某些操作使用不同的布局(主要是大多数 Controller 中的新操作)。
我想知道指定布局的最佳方法是什么? (我在同一个 Controller 中使用 3 个或更多不同的布局)
我不喜欢使用
render :layout => 'name'
我喜欢做
layout 'name', :only => [:new]
但我不能用它来指定 2 个或更多不同的布局。
例如:
当我在同一 Controller 中使用不同的布局名称和不同的唯一选项调用布局两次时,第一个将被忽略 - 这些操作不会显示在我指定的布局中。
注意:我使用的是 Rails 2。
最佳答案
您可以使用一种方法来设置布局。
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
关于ruby-on-rails - 每个 Action 的 Rails 布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025784/