是否可以在控制器内部使用部分布局选项?

时间:2010-05-06 05:51:56

标签: ruby-on-rails ruby

当我尝试在控制器中跟踪代码时,视图使用布局呈现而不使用

  def xyz
    render :partial => 'platinum_home', :layout => 'platinum_layout'
  end

但如果我在部分

中执行以下操作
<% render(:layout => "platinum_layout") do %>
  blah blah blah
<% end %>

它工作正常,是第一个不可能使用rails的例子吗?

2 个答案:

答案 0 :(得分:2)

在顶部的控制器中添加以下内容:

class SomeController < ApplicationController
    layout "platinum_layout", :only => :xyz

答案 1 :(得分:1)

控制器中的部分呈现最常与Ajax调用一起使用,这些调用仅更新页面上的一个或几个元素而不重新加载。从控制器渲染部分可以在整页渲染中使用相同的部分模板(通过在模板内调用它)和子页面更新发生时(从响应Ajax调用的控制器操作)。默认情况下,不使用当前布局。

所以要使用刚才使用的当前布局。

  def xyz
    render :partial => 'platinum_home', :layout => true
  end