2010-05-06 44 views
0

当尝试我以下的控制器代码,视图呈现没有是否可以在控制器内部使用布局选项的部分?使用布局

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

但是如果我做了局部

<% render(:layout => "platinum_layout") do %> 
    blah blah blah 
<% end %> 

它工作得很好,里面的下面,是第一个例子不可能使用rails?

+0

它应该工作得很好。你使用的是什么版本的导轨?您的控制器顶部是否有布局宏调用? – concept47 2010-05-06 07:44:33

回答

2

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

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

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

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

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