Ruby on rails 如果yield是布局内部的闭包,那么如何在内部呈现布局?
在Rails中,若yield是布局内部的闭包,那个么控制器如何指定要渲染的布局Ruby on rails 如果yield是布局内部的闭包,那么如何在内部呈现布局?,ruby-on-rails,ruby,closures,Ruby On Rails,Ruby,Closures,在Rails中,若yield是布局内部的闭包,那个么控制器如何指定要渲染的布局 layout:render=>“myLayout”控制器中的layout命令也可以接受符号,该符号将其链接到方法。像这样: class ApplicationController < ActionController::Base layout :layout_by_resource protected def layout_by_resource if devise_controlle
layout:render=>“myLayout”
控制器中的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
class ApplicationController
因此,您可以使用此选项从控制器内切换出要使用的布局。如果要为控制器设置布局
class YourController < ApplicationController
before_filter :set_layout
protected
def set_layout
render :layout => 'Your-layout'
end
end
class YourController“您的布局”
结束
结束
它应该是控制器操作中的渲染布局:“myLayout”。