在Rails中,如果yield是布局中的闭包,那么控制器如何指示要渲染的布局?
layout :render => "myLayout"
答案 0 :(得分:0)
控制器中的layout
命令也可以接受符号,该符号将其链接到方法。像这样:
class ApplicationController < ActionController::Base
layout :layout_by_resource
protected
def layout_by_resource
if devise_controller? && resource_name == :admin_user
"devise_admin"
else
"application"
end
end
end
因此,您可以使用它来从控制器中切换出要使用的布局。
答案 1 :(得分:0)
如果要为控制器设置布局
class YourController < ApplicationController
before_filter :set_layout
protected
def set_layout
render :layout => 'Your-layout'
end
end