Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如果yield是布局内部的闭包,那么如何在内部呈现布局?_Ruby On Rails_Ruby_Closures - Fatal编程技术网

Ruby on 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

在Rails中,若yield是布局内部的闭包,那个么控制器如何指定要渲染的布局


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”。